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

# Updates an uptime check. Send only the fields you want to change.

> An omitted field is left alone, and re-sending a value the check already holds is a no-op
rather than an error. Sending nothing at all is a 400.
            
`TagIds` replaces the check's tags outright; an empty array clears them. Changing
`TypeId` requires a `Target` for the new type, because the two are stored
together and the old target would not fit.
            
`MaintenanceMode` starts or ends a maintenance window for this check. Omit it to
leave the current state alone; send `Enabled: true` with a start, a duration and a
reason to begin one, or `Enabled: false` on its own to end it. A duration of zero
means the window does not expire on its own.



## OpenAPI

````yaml /api-reference/openapi.json patch /v1/uptime/{uptimeId}
openapi: 3.0.4
info:
  title: Public API
  description: Gorelo Public API documentation.
  version: 1.0.0
servers:
  - url: https://api.usw.gorelo.io
    description: US
  - url: https://api.aue.gorelo.io
    description: Australia
security:
  - ApiKeyAuth: []
tags:
  - name: Attachments
    description: "Uploading a file, for anything that can carry one. One endpoint rather than one per record\r\ntype, because the upload itself is identical - only the record it is checked against differs."
  - name: Alerts
    description: Alerts management operations
  - name: Assets
    description: Assets management operations
  - name: Billing
    description: Billing management operations
  - name: Tickets
    description: Tickets management operations
  - name: Clients
    description: Clients management operations
  - name: Contacts
    description: Contacts management operations
  - name: Deletions
    description: Deletions management operations
  - name: Documents
    description: Documents management operations
  - name: Forms
    description: Forms management operations
  - name: Organization
    description: Organization management operations
  - name: Projects
    description: Projects management operations
paths:
  /v1/uptime/{uptimeId}:
    patch:
      tags:
        - Assets
      summary: Updates an uptime check. Send only the fields you want to change.
      description: "An omitted field is left alone, and re-sending a value the check already holds is a no-op\r\nrather than an error. Sending nothing at all is a 400.\r\n            \r\n`TagIds` replaces the check's tags outright; an empty array clears them. Changing\r\n`TypeId` requires a `Target` for the new type, because the two are stored\r\ntogether and the old target would not fit.\r\n            \r\n`MaintenanceMode` starts or ends a maintenance window for this check. Omit it to\r\nleave the current state alone; send `Enabled: true` with a start, a duration and a\r\nreason to begin one, or `Enabled: false` on its own to end it. A duration of zero\r\nmeans the window does not expire on its own."
      operationId: patch_v1_uptime_uptimeId
      parameters:
        - name: uptimeId
          in: path
          description: Uptime to update.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: Fields to change.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/UpdateUptimeCommand'
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUptimeCommand'
          text/json:
            schema:
              $ref: '#/components/schemas/UpdateUptimeCommand'
          application/*+json:
            schema:
              $ref: '#/components/schemas/UpdateUptimeCommand'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/UpdateUptimeResultBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateUptimeResultBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/UpdateUptimeResultBaseResponse'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
        '500':
          description: Internal Server Error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
components:
  schemas:
    UpdateUptimeCommand:
      type: object
      properties:
        TypeId:
          type: integer
          description: "What the check does: 1 ICMP, 2 HTTP, 3 TCP. Changing this requires sending a\r\n`Target` valid for the new type, because the two are stored together."
          format: int32
          nullable: true
        Target:
          $ref: '#/components/schemas/UptimeTarget'
        AdoptClientAssets:
          type: boolean
          description: >-
            Move matching unassigned devices to the check's client. See the
            create request.
          nullable: true
        ClientId:
          type: integer
          description: "Identifier of the client the check belongs to. Sending this without\r\n`LocationId` is rejected, because a location belongs to a client and moving\r\none without the other would file the check at the old client's site."
          format: int64
          nullable: true
        LocationId:
          type: integer
          description: Identifier of the client location the check belongs to.
          format: int64
          nullable: true
        Description:
          type: string
          description: What the check watches, free text. Max 250 characters.
          nullable: true
        Frequency:
          type: integer
          description: How often the check runs, in minutes.
          format: int32
          nullable: true
        NumberOfRetriesAfterFailure:
          type: integer
          description: >-
            How many times a failure is rechecked before the check counts as
            down.
          format: int32
          nullable: true
        RegionId:
          type: integer
          description: "Which monitoring region runs the check. Changing it cancels the check's schedule in the\r\nold region and schedules it in the new one."
          format: int32
          nullable: true
        IspConnectionLink:
          type: string
          description: Link to the ISP or provider status page for this endpoint.
          nullable: true
        TagIds:
          type: array
          items:
            type: integer
            format: int64
          description: "Replaces the check's tags outright. An empty array clears them; omitting the field leaves\r\nthem alone."
          nullable: true
        MaintenanceMode:
          $ref: '#/components/schemas/UptimeMaintenanceMode'
      additionalProperties: false
      description: "Request body for updating an uptime check. Every field is optional - send only what should\r\nchange. An omitted field keeps the value the check already holds."
    UpdateUptimeResultBaseResponse:
      type: object
      properties:
        StatusCode:
          $ref: '#/components/schemas/HttpStatusCode'
        IsSuccess:
          type: boolean
        Data:
          $ref: '#/components/schemas/UpdateUptimeResult'
        DataContext:
          type: object
          additionalProperties: false
          nullable: true
          example: null
        Notifications:
          type: array
          items:
            $ref: '#/components/schemas/Error'
      additionalProperties: false
    ObjectBaseResponse:
      type: object
      properties:
        StatusCode:
          $ref: '#/components/schemas/HttpStatusCode'
        IsSuccess:
          type: boolean
        Data:
          nullable: true
        DataContext:
          $ref: '#/components/schemas/ErrorDataContext'
        Notifications:
          type: array
          items:
            $ref: '#/components/schemas/Error'
      additionalProperties: false
    UptimeTarget:
      type: object
      properties:
        Ip:
          type: string
          description: "Host to ping, for ICMP and TCP checks. ICMP accepts a hostname as well as an address;\r\nTCP requires a parseable address."
          nullable: true
          example: 8.8.8.8
        Port:
          type: integer
          description: Port to connect to, for TCP checks.
          format: int32
          nullable: true
          example: 443
        Url:
          type: string
          description: Address to request, for HTTP checks.
          nullable: true
          example: https://www.google.com
      additionalProperties: false
      description: "What an uptime check points at. Which fields are populated depends on the check type:\r\nICMP uses `Ip`, TCP uses `Ip` and `Port`, HTTP uses\r\n`Url`. The others are null."
    UptimeMaintenanceMode:
      type: object
      properties:
        Enabled:
          type: boolean
          description: "Whether the check is currently in maintenance mode. When false, the remaining fields\r\nare null."
        StartDateTime:
          type: string
          description: "When the maintenance window starts (UTC). Null when Enabled is false. On update,\r\nrequired when Enabled is true; omit it when Enabled is false."
          format: date-time
          nullable: true
        DurationInMinutes:
          type: integer
          description: "How long the window lasts, in minutes. Zero means the window does not expire on its own.\r\nNull when Enabled is false. On update, required when Enabled is true; omit it when Enabled is false."
          format: int32
          nullable: true
        Reason:
          type: string
          description: "Why the check was put into maintenance. Max 500 characters. Null when Enabled is\r\nfalse. On update, required when Enabled is true; omit it when Enabled is false."
          nullable: true
      additionalProperties: false
      description: "A check's maintenance window - the period its failures are suppressed for.\r\n\n\r\nField names match the ones the update request takes.\r\n"
    HttpStatusCode:
      enum:
        - 100
        - 101
        - 102
        - 103
        - 200
        - 201
        - 202
        - 203
        - 204
        - 205
        - 206
        - 207
        - 208
        - 226
        - 300
        - 301
        - 302
        - 303
        - 304
        - 305
        - 306
        - 307
        - 308
        - 400
        - 401
        - 402
        - 403
        - 404
        - 405
        - 406
        - 407
        - 408
        - 409
        - 410
        - 411
        - 412
        - 413
        - 414
        - 415
        - 416
        - 417
        - 421
        - 422
        - 423
        - 424
        - 426
        - 428
        - 429
        - 431
        - 451
        - 500
        - 501
        - 502
        - 503
        - 504
        - 505
        - 506
        - 507
        - 508
        - 510
        - 511
      type: integer
      format: int32
    UpdateUptimeResult:
      type: object
      properties:
        Id:
          type: string
          format: uuid
      additionalProperties: false
      description: The identifier of the updated uptime check.
    Error:
      type: object
      properties:
        Code:
          pattern: ^[0-9]{6}$
          type: string
          description: 6-digit MMTTNN error code. See the Public API error-code registry.
          example: '070101'
        Message:
          type: string
        PropertyName:
          type: string
          nullable: true
        ActionHint:
          type: string
          nullable: true
        DocUrl:
          type: string
          nullable: true
      additionalProperties: false
    ErrorDataContext:
      type: object
      properties:
        TraceId:
          type: string
          description: Request correlation id. Quote this when reporting a problem.
          nullable: true
      additionalProperties: false
      description: "The `DataContext` of an error response: carries the correlation id for the failed\r\nrequest."
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      description: >-
        Your Gorelo API key. See [Generate API key](/generate-api-key). If your
        data is hosted in Australia, click the base URL at the top of this page
        and select `https://api.aue.gorelo.io`.
      name: X-API-Key
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.