> ## Documentation Index
> Fetch the complete documentation index at: https://altostrat.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve a Report Schedule

> Retrieves the details of a single SLA report schedule by its unique ID.



## OpenAPI

````yaml /api/en/reports.yaml get /reports/sla/schedules/{scheduleId}
openapi: 3.0.3
info:
  title: Altostrat Reports API
  version: 1.0.0
  description: >-
    The Altostrat Reports API is the microservice responsible for scheduling,
    generating, and storing comprehensive Service Level Agreement (SLA) and
    network performance reports.


    It provides historical insights and accountability for network uptime by
    consuming fault data from across the Altostrat SDX platform and transforming
    it into scheduled, human-readable PDF reports.


    This API allows you to programmatically manage:

    - **SLA Report Schedules:** The core configuration object defining what data
    to collect, for which sites, and on what schedule (daily, weekly, monthly).

    - **Generated Reports:** The immutable, historical artifacts produced by a
    schedule run, including a detailed breakdown of site uptime and a
    downloadable PDF.


    Developers use this API to automate the creation of SLA report
    configurations and retrieve the resulting performance data for integration
    into dashboards or third-party systems.
servers:
  - url: https://v1.api.altostrat.io
    description: Altostrat Production API
security: []
tags:
  - name: SLA Report Schedules
    description: Manage the configuration of automated SLA reports.
  - name: Generated Reports
    description: Access and manage historically generated report results.
paths:
  /reports/sla/schedules/{scheduleId}:
    get:
      tags:
        - SLA Report Schedules
      summary: Retrieve a Report Schedule
      description: Retrieves the details of a single SLA report schedule by its unique ID.
      operationId: getSlaReportSchedule
      parameters:
        - name: scheduleId
          in: path
          required: true
          description: >-
            The unique identifier for the SLA report schedule, prefixed with
            `sla_`.
          schema:
            type: string
            pattern: ^sla_[0-9a-zA-Z]{27}$
            example: sla_2ayc4Yy6w3g7Y2j4g4g4Yy6w3g7
      responses:
        '200':
          description: The requested SLA report schedule.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlaReportSchedule'
        '404':
          description: Not Found - The requested schedule does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    SlaReportSchedule:
      type: object
      description: The configuration for a scheduled SLA report.
      properties:
        id:
          type: string
          description: >-
            The unique server-generated identifier for the schedule, prefixed
            with `sla_`.
          example: sla_2ayc4Yy6w3g7Y2j4g4g4Yy6w3g7
          readOnly: true
        name:
          type: string
          description: A human-readable name for the report schedule.
          example: Monthly Executive SLA Summary
        disabled:
          type: boolean
          description: >-
            If true, the schedule is paused and will not generate reports
            automatically.
          default: false
        daily:
          type: boolean
          description: >-
            If true, the report runs every day. Only one of `daily`, `weekly`,
            or `monthly` should be true.
        weekly:
          type: boolean
          description: If true, the report runs once a week on the specified `day_of_week`.
        monthly:
          type: boolean
          description: >-
            If true, the report runs once a month on the specified
            `day_of_month`.
        day_of_week:
          type: string
          description: The day of the week to run the report if `weekly` is true.
          enum:
            - monday
            - tuesday
            - wednesday
            - thursday
            - friday
            - saturday
            - sunday
          example: monday
        day_of_month:
          type: integer
          description: The day of the month to run the report if `monthly` is true.
          minimum: 1
          maximum: 28
          example: 1
        sla_target:
          type: number
          format: float
          description: >-
            The target SLA percentage. Sites with uptime below this value will
            be marked as breached.
          example: 99.95
        show_only_breached_sites_in_pdf:
          type: boolean
          description: >-
            If true, the generated PDF will only list sites that breached the
            SLA target.
          default: false
        calculate_sla_within_schedule_hours:
          type: boolean
          description: >-
            If true, SLA is calculated only within the specified business hours.
            If false, it's calculated over 24/7.
          default: true
        business_hours_id:
          type: string
          format: uuid
          description: The UUID of the Business Hours schedule to use for SLA calculations.
          example: a1b2c3d4-e5f6-7890-1234-567890abcdef
        site_selection_mode:
          type: string
          description: >-
            Determines how sites are selected for the report. `manual` uses the
            `sites` array. `tags` uses dynamic selection based on
            `site_selection_rules`.
          enum:
            - manual
            - tags
          example: tags
        site_selection_logic:
          type: string
          description: >-
            When `site_selection_mode` is `tags`, this determines how multiple
            rules are combined. `or` includes sites matching any rule. `and`
            includes sites matching all rules.
          enum:
            - or
            - and
          example: or
        site_selection_rules:
          type: array
          description: >-
            A list of rules to dynamically select sites based on tags. Required
            if `site_selection_mode` is `tags`.
          items:
            $ref: '#/components/schemas/SiteSelectionRule'
        grouping_rules:
          type: array
          description: >-
            An optional list of rules to group sites in the report by a specific
            tag value (e.g., group by 'Region').
          items:
            $ref: '#/components/schemas/GroupingRule'
        sites:
          type: array
          description: >-
            A list of site UUIDs to include in the report. Required if
            `site_selection_mode` is `manual`.
          items:
            type: string
            format: uuid
            example: f47ac10b-58cc-4372-a567-0e02b2c3d479
        recipients:
          type: array
          description: A list of recipient UUIDs to notify when the report is ready.
          items:
            type: string
            format: uuid
            example: e47ac10b-58cc-4372-a567-0e02b2c3d479
        timezone:
          type: string
          description: >-
            The IANA timezone identifier for scheduling the report (e.g.,
            'America/New_York'). Reports run at 8 AM in this timezone.
          example: Australia/Sydney
        ignore_power_outages:
          type: boolean
          description: >-
            If true, downtime caused by power outages will be excluded from SLA
            calculations.
          default: false
        notification_group:
          type: string
          nullable: true
          description: The ID of a notification group to send the report to.
          example: network_admins_group
        created_at:
          type: string
          format: date-time
          description: The timestamp when the schedule was created.
          readOnly: true
        updated_at:
          type: string
          format: date-time
          description: The timestamp when the schedule was last updated.
          readOnly: true
    ErrorResponse:
      type: object
      properties:
        type:
          type: string
          description: A broad category for the error (e.g., 'invalid_request_error').
          example: invalid_request_error
        code:
          type: string
          description: A short, unique string identifying the specific error.
          example: parameter_missing
        message:
          type: string
          description: A human-readable description of what went wrong.
          example: The 'name' parameter is required for this request.
        doc_url:
          type: string
          description: >-
            A direct link to the documentation page for this specific error
            code.
          example: https://docs.altostrat.io/errors/parameter_missing
    SiteSelectionRule:
      type: object
      description: A rule for dynamically selecting sites based on a tag.
      required:
        - key
        - value
      properties:
        key:
          type: string
          description: The key of the tag to filter by (e.g., 'Region', 'SiteType').
          example: Region
        value:
          type: string
          description: >-
            The value of the tag to match. Use '*' as a wildcard to match any
            site that has the specified tag key, regardless of its value.
          example: APAC
    GroupingRule:
      type: object
      description: A rule for grouping sites in a report by a common tag value.
      required:
        - key
        - aggregation
      properties:
        key:
          type: string
          description: >-
            The tag key to use for grouping sites in the report (e.g.,
            'Region').
          example: Region
        aggregation:
          type: string
          description: >-
            The method used to aggregate the SLA of sites within a group. `avg`
            averages the uptime, `min` uses the lowest uptime, and `max` uses
            the highest uptime.
          enum:
            - min
            - max
            - avg
          example: avg
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Enter your authentication token.

````