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

# Create a status page

> Create a status page



## OpenAPI

````yaml post /uptime/status-pages
openapi: 3.0.0
info:
  title: Phare
  description: >-
    Learn how to use the phare.io API. Most of the things that can be done on
    the web platform can also be achieved with the API documented on this page.
  termsOfService: https://phare.io/legal/terms-of-service
  contact:
    name: Phare
    email: support@phare.io
  version: '1.0'
servers:
  - url: https://api.phare.io
security:
  - BearerAuth: []
tags:
  - name: Users
    description: Users
  - name: Projects
    description: Projects
  - name: Alert Rules
    description: Alert Rules
  - name: Monitors
    description: Monitors
  - name: Incidents
    description: Incidents
  - name: Status Pages
    description: Status Pages
  - name: Reports
    description: Reports
  - name: Platform
    description: Platform
  - name: Integrations
    description: Integrations
  - name: Maintenance Windows
    description: Maintenance Windows
paths:
  /uptime/status-pages:
    post:
      tags:
        - Status Pages
      summary: Create a status page
      description: Create a status page
      operationId: createUptimeStatusPage
      parameters:
        - $ref: '#/components/parameters/header_project_id'
        - $ref: '#/components/parameters/header_project_slug'
      requestBody:
        description: Status page request
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  description: Status page name
                  type: string
                  example: Phare status
                  maximum: 30
                  minimum: 2
                subdomain:
                  description: >-
                    Subdomain name for the status page, hosted on a phare.io
                    domain: {subdomain}.status.phare.io
                  type: string
                  example: example
                  maximum: 30
                  minimum: 2
                domain:
                  description: Custom domain name for the status page
                  type: string
                  example: status.example.com
                  nullable: true
                  maximum: 253
                  minimum: 4
                title:
                  description: Status page HTML title
                  type: string
                  example: Phare status
                  maximum: 250
                  minimum: 2
                description:
                  description: Status page HTML description
                  type: string
                  example: Status page of phare.io
                  maximum: 250
                  minimum: 2
                search_engine_indexed:
                  description: Whether search engines are allowed to index the page
                  type: boolean
                  example: true
                website_url:
                  description: URL to redirect users clicking the status page logo
                  type: string
                  example: https://phare.io
                  maximum: 250
                color_scheme:
                  description: Choose the available color schemes for the status page
                  type: string
                  example: all
                  enum:
                    - all
                    - dark
                    - light
                theme:
                  description: Theme settings to customize the status page
                  properties:
                    light:
                      description: Light theme colors
                      properties:
                        operational:
                          type: string
                          example: '#16a34a'
                        degraded_performance:
                          type: string
                          example: '#fbbf24'
                        partial_outage:
                          type: string
                          example: '#f59e0b'
                        major_outage:
                          type: string
                          example: '#ef4444'
                        maintenance:
                          type: string
                          example: '#6366f1'
                        empty:
                          type: string
                          example: '#d3d3d3'
                        background:
                          type: string
                          example: '#ffffff'
                        foreground:
                          type: string
                          example: '#000000'
                        foreground_muted:
                          type: string
                          example: '#737373'
                        background_card:
                          type: string
                          example: '#fafafa'
                      type: object
                    dark:
                      description: Dark theme colors
                      properties:
                        operational:
                          type: string
                          example: '#16a34a'
                        degraded_performance:
                          type: string
                          example: '#fbbf24'
                        partial_outage:
                          type: string
                          example: '#f59e0b'
                        major_outage:
                          type: string
                          example: '#ef4444'
                        maintenance:
                          type: string
                          example: '#6366f1'
                        empty:
                          type: string
                          example: '#d3d3d3'
                        background:
                          type: string
                          example: '#111111'
                        foreground:
                          type: string
                          example: '#ffffff'
                        foreground_muted:
                          type: string
                          example: '#959595'
                        background_card:
                          type: string
                          example: '#1a1a1a'
                      type: object
                    rounded:
                      type: boolean
                      example: true
                    border_width:
                      type: integer
                      example: 2
                      maximum: 3
                      minimum: 0
                  type: object
                components:
                  description: List of components to show on the status page
                  type: array
                  items:
                    oneOf:
                      - title: Monitor component
                        required:
                          - componentable_type
                          - componentable_id
                        properties:
                          componentable_type:
                            type: string
                            enum:
                              - uptime/monitor
                          componentable_id:
                            description: ID of the monitor to show
                            type: integer
                          display_name:
                            description: >-
                              Custom display name of the monitor on the status
                              page
                            type: string
                            example: Main Website
                            nullable: true
                            default: null
                        type: object
                      - title: Group component
                        required:
                          - componentable_type
                          - name
                          - components
                        properties:
                          componentable_type:
                            type: string
                            enum:
                              - uptime/group
                          name:
                            description: Name of the group shown on the status page
                            type: string
                          is_expanded:
                            description: >-
                              Whether the group components are expanded by
                              default
                            type: boolean
                            example: false
                          components:
                            description: List of monitor components shown inside the group
                            type: array
                            items:
                              required:
                                - componentable_type
                                - componentable_id
                              properties:
                                componentable_type:
                                  type: string
                                  enum:
                                    - uptime/monitor
                                componentable_id:
                                  description: ID of the monitor to show
                                  type: integer
                                display_name:
                                  description: >-
                                    Custom display name of the monitor on the
                                    status page
                                  type: string
                                  example: Main Website
                                  nullable: true
                                  default: null
                              type: object
                        type: object
                timeframe:
                  description: Number of days of status and incident history to display.
                  type: integer
                  example: 90
                  enum:
                    - 30
                    - 60
                    - 90
                show_response_times:
                  description: >-
                    Whether to display response times for monitors on the status
                    page
                  type: boolean
                  example: true
                  default: true
                subscription_channels:
                  description: List of active subscription channels
                  type: array
                  items:
                    $ref: >-
                      #/components/schemas/Uptime.StatusPage.SubscriptionChannelEnum
                  maxItems: 3
                  minItems: 0
                access_ips:
                  description: >-
                    List of IP addresses or CIDR ranges allowed to access the
                    status page. Requires an active Scale plan subscription.
                  type: array
                  items:
                    type: string
                    example: 45.129.56.0/24
                  nullable: true
                  maxItems: 50
                  minItems: 1
                logo_light:
                  description: >-
                    Manage the light theme logo of the status page (accepted
                    formats: jpeg / png / svg)
                  oneOf:
                    - description: >-
                        Any image file with the following format: jpeg / png /
                        svg.
                      type: string
                      format: file
                      nullable: true
                    - description: >-
                        If "false" is passed to the request the logo will be
                        removed
                      type: string
                      example: 'false'
                      nullable: true
                      enum:
                        - 'false'
                logo_dark:
                  description: >-
                    Manage the dark theme logo of the status page (accepted
                    formats: jpeg / png / svg)
                  oneOf:
                    - description: >-
                        Any image file with the following format: jpeg / png /
                        svg.
                      type: string
                      format: file
                      nullable: true
                    - description: >-
                        If "false" is passed to the request the logo will be
                        removed
                      type: string
                      example: 'false'
                      nullable: true
                      enum:
                        - 'false'
                favicon_light:
                  description: >-
                    Manage the light theme favicon of the status page (accepted
                    formats: png / svg)
                  oneOf:
                    - description: 'Any image file with the following format: png / svg.'
                      type: string
                      format: file
                      nullable: true
                    - description: >-
                        If "false" is passed to the request the favicon will be
                        removed
                      type: string
                      example: 'false'
                      nullable: true
                      enum:
                        - 'false'
                favicon_dark:
                  description: >-
                    Manage the dark theme favicon of the status page (accepted
                    formats: png / svg)
                  oneOf:
                    - description: 'Any image file with the following format: png / svg.'
                      type: string
                      format: file
                      nullable: true
                    - description: >-
                        If "false" is passed to the request the favicon will be
                        removed
                      type: string
                      example: 'false'
                      nullable: true
                      enum:
                        - 'false'
                access_token:
                  description: >-
                    Token to restrict access to the status page. Requires an
                    active Scale plan subscription.
                  type: string
                  example: secret
                  nullable: true
                  maxLength: 500
                  minLength: 8
                access_password:
                  description: >-
                    Password to restrict access to the status page. Requires an
                    active Scale plan subscription.
                  type: string
                  example: secret
                  nullable: true
                  maxLength: 500
                  minLength: 8
              required:
                - name
                - subdomain
                - title
                - description
                - search_engine_indexed
                - website_url
                - components
      responses:
        '201':
          description: Success, status page created
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    description: Status page ID
                    type: integer
                    example: 1
                  project_id:
                    description: Parent project ID
                    type: integer
                    example: 1
                  is_private:
                    description: Whether the status page requires authentication to access
                    type: boolean
                    example: false
                  access_password_enabled:
                    description: >-
                      Whether the status page is protected by a password.
                      Requires an active Scale plan subscription.
                    type: boolean
                    example: false
                  access_token_enabled:
                    description: >-
                      Whether the status page is protected by a secret token.
                      Requires an active Scale plan subscription.
                    type: boolean
                    example: false
                  name:
                    description: Status page name
                    type: string
                    example: Phare status
                    maximum: 30
                    minimum: 2
                  subdomain:
                    description: >-
                      Subdomain name for the status page, hosted on a phare.io
                      domain: {subdomain}.status.phare.io
                    type: string
                    example: example
                    maximum: 30
                    minimum: 2
                  domain:
                    description: Custom domain name for the status page
                    type: string
                    example: status.example.com
                    nullable: true
                    maximum: 253
                    minimum: 4
                  title:
                    description: Status page HTML title
                    type: string
                    example: Phare status
                    maximum: 250
                    minimum: 2
                  description:
                    description: Status page HTML description
                    type: string
                    example: Status page of phare.io
                    maximum: 250
                    minimum: 2
                  search_engine_indexed:
                    description: Whether search engines are allowed to index the page
                    type: boolean
                    example: true
                  website_url:
                    description: URL to redirect users clicking the status page logo
                    type: string
                    example: https://phare.io
                    maximum: 250
                  color_scheme:
                    description: Choose the available color schemes for the status page
                    type: string
                    example: all
                    enum:
                      - all
                      - dark
                      - light
                  theme:
                    description: Theme settings to customize the status page
                    properties:
                      light:
                        description: Light theme colors
                        properties:
                          operational:
                            type: string
                            example: '#16a34a'
                          degraded_performance:
                            type: string
                            example: '#fbbf24'
                          partial_outage:
                            type: string
                            example: '#f59e0b'
                          major_outage:
                            type: string
                            example: '#ef4444'
                          maintenance:
                            type: string
                            example: '#6366f1'
                          empty:
                            type: string
                            example: '#d3d3d3'
                          background:
                            type: string
                            example: '#ffffff'
                          foreground:
                            type: string
                            example: '#000000'
                          foreground_muted:
                            type: string
                            example: '#737373'
                          background_card:
                            type: string
                            example: '#fafafa'
                        type: object
                      dark:
                        description: Dark theme colors
                        properties:
                          operational:
                            type: string
                            example: '#16a34a'
                          degraded_performance:
                            type: string
                            example: '#fbbf24'
                          partial_outage:
                            type: string
                            example: '#f59e0b'
                          major_outage:
                            type: string
                            example: '#ef4444'
                          maintenance:
                            type: string
                            example: '#6366f1'
                          empty:
                            type: string
                            example: '#d3d3d3'
                          background:
                            type: string
                            example: '#111111'
                          foreground:
                            type: string
                            example: '#ffffff'
                          foreground_muted:
                            type: string
                            example: '#959595'
                          background_card:
                            type: string
                            example: '#1a1a1a'
                        type: object
                      rounded:
                        type: boolean
                        example: true
                      border_width:
                        type: integer
                        example: 2
                        maximum: 3
                        minimum: 0
                    type: object
                  components:
                    description: List of components to show on the status page
                    type: array
                    items:
                      oneOf:
                        - title: Monitor component
                          required:
                            - componentable_type
                            - componentable_id
                          properties:
                            componentable_type:
                              type: string
                              enum:
                                - uptime/monitor
                            componentable_id:
                              description: ID of the monitor to show
                              type: integer
                            display_name:
                              description: >-
                                Custom display name of the monitor on the status
                                page
                              type: string
                              example: Main Website
                              nullable: true
                              default: null
                          type: object
                        - title: Group component
                          required:
                            - componentable_type
                            - name
                            - components
                          properties:
                            componentable_type:
                              type: string
                              enum:
                                - uptime/group
                            name:
                              description: Name of the group shown on the status page
                              type: string
                            is_expanded:
                              description: >-
                                Whether the group components are expanded by
                                default
                              type: boolean
                              example: false
                            components:
                              description: >-
                                List of monitor components shown inside the
                                group
                              type: array
                              items:
                                required:
                                  - componentable_type
                                  - componentable_id
                                properties:
                                  componentable_type:
                                    type: string
                                    enum:
                                      - uptime/monitor
                                  componentable_id:
                                    description: ID of the monitor to show
                                    type: integer
                                  display_name:
                                    description: >-
                                      Custom display name of the monitor on the
                                      status page
                                    type: string
                                    example: Main Website
                                    nullable: true
                                    default: null
                                type: object
                          type: object
                  timeframe:
                    description: Number of days of status and incident history to display.
                    type: integer
                    example: 90
                    enum:
                      - 30
                      - 60
                      - 90
                  show_response_times:
                    description: >-
                      Whether to display response times for monitors on the
                      status page
                    type: boolean
                    example: true
                    default: true
                  subscription_channels:
                    description: List of active subscription channels
                    type: array
                    items:
                      $ref: >-
                        #/components/schemas/Uptime.StatusPage.SubscriptionChannelEnum
                    maxItems: 3
                    minItems: 0
                  access_ips:
                    description: >-
                      List of IP addresses or CIDR ranges allowed to access the
                      status page. Requires an active Scale plan subscription.
                    type: array
                    items:
                      type: string
                      example: 45.129.56.0/24
                    nullable: true
                    maxItems: 50
                    minItems: 1
                  created_at:
                    description: Date of creation for the entity
                    type: string
                    format: date-time
                  updated_at:
                    description: Date of last update for the entity
                    type: string
                    format: date-time
                required:
                  - name
                  - subdomain
                  - title
                  - description
                  - search_engine_indexed
                  - website_url
                  - components
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '422':
          $ref: '#/components/responses/422'
components:
  parameters:
    header_project_id:
      name: X-Phare-Project-Id
      in: header
      description: A project header is required when using an organization-scoped API key.
      required: false
      schema:
        type: integer
        example: 1
    header_project_slug:
      name: X-Phare-Project-Slug
      in: header
      description: A project header is required when using an organization-scoped API key.
      required: false
      schema:
        type: string
        example: luminous-guiding-tower
  schemas:
    Uptime.StatusPage.SubscriptionChannelEnum:
      type: string
      enum:
        - rss
        - atom
        - slack
  responses:
    '401':
      description: Error, access unauthorized
      content:
        application/json:
          schema:
            description: Access unauthorized error schema
            properties:
              message:
                type: string
                example: Unauthorized
            type: object
    '403':
      description: Error, access forbidden
      content:
        application/json:
          schema:
            description: Access forbidden error schema
            properties:
              message:
                type: string
                example: >-
                  The platform:write permission is required to perform this
                  action.
            type: object
    '422':
      description: Error, unprocessable entity
      content:
        application/json:
          schema:
            description: Validation error schema
            properties:
              message:
                type: string
              errors:
                properties:
                  key:
                    type: array
                    items:
                      type: string
                      example: The key field is required
                type: object
            type: object
  securitySchemes:
    BearerAuth:
      type: http
      description: >-
        Use a user token to access authenticated routes. The token must be
        specified in the Authorization HTTP header with the following format
        'Authorization: Bearer <token>'.
      scheme: bearer

````