Rapid7 Blackouts API

A blackout is a period of time when all scanning activities for the specified scope are blocked. A blackout can be scoped globally or to a specific App, this is implied by the scope property; scope value of APP requires that an appropriate app.id value is also provided. There are two options available to specify how often a blackout will occur, either a frequency or a recurrence rule (rrule). Only frequency supports the use of ONCE only blackouts. If providing a rrule, the following fields are permitted:FREQ where FREQ is one of: HOURLY, DAILY, WEEKLY, MONTHLY INTERVALBYDAY where value is: a single day, SA,SU to represent weekend, or all weekdays. BYMONTHDAY where value is a range between: 1 - 31. BYSETPOS where value is one of: -1, 1, 2, 3, 4COUNTIf providing a rrule, the RFC 2445 section-4.8.5.4 IETF specification can be used as a guide for how to create rrules. Example: rrule = "FREQ=MONTHLY;INTERVAL=1;BYDAY=FR;BYSETPOS=-1" represents 'Run every month on the last Friday'.If providing a frequency, the frequency of a blackout is defined by both the type and interval; specifying a type of ONCE does not require an interval. The permitted types are as follows:ONCEHOURLYDAILYWEEKLYMONTHLYEither a frequency or a rrule must be provided for create/update operations.If a frequency.type other than ONCE is provided, the date and time of the blackout recurrences will be calculated based on the frequency or rrule defined, until the threshold of last_start (if one is provided, otherwise until a date considerably far into the future). The value of first_start and first_end define the initial period of the Blackout; duration of this period is adhered to at every recurrence, hence why there is no need to model a last_end.

Operations 5

GET /blackouts Get Blackouts #
POST /blackouts Create Blackout #
GET /blackouts/{blackout-id} Get Blackout #
PUT /blackouts/{blackout-id} Update Blackout #
DELETE /blackouts/{blackout-id} Delete Blackout #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/rapid7-blackouts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

rapid7-blackouts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: InsightAppSec Blackouts API
  description: Welcome to the reference documentation for the public APIs available for InsightAppSec.
  version: v1
servers:
- url: https://[region].api.insight.rapid7.com/ias/v1
tags:
- name: Blackouts
  description: A blackout is a period of time when all scanning activities for the specified scope are blocked.
paths:
  /blackouts:
    get:
      tags:
      - Blackouts
      summary: Get Blackouts
      description: 'Get a page of Blackouts, based on supplied pagination parameters.

        The default sort for Blackouts is "name" (ascending); for a full list of sortable properties, refer to the Search Catalog detailed in the Search API.'
      operationId: get-blackouts
      parameters:
      - name: index
        in: query
        schema:
          type: integer
          format: int32
      - name: size
        in: query
        schema:
          type: integer
          format: int32
      - name: sort
        in: query
        schema:
          type: string
      - name: page-token
        in: query
        schema:
          type: string
      responses:
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageBlackout'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    post:
      tags:
      - Blackouts
      summary: Create Blackout
      description: Create a new Blackout
      operationId: create-blackout
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Blackout'
        required: true
      responses:
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '201':
          description: Created
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Action conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Resource validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrors'
  /blackouts/{blackout-id}:
    get:
      tags:
      - Blackouts
      summary: Get Blackout
      description: Get a Blackout
      operationId: get-blackout
      parameters:
      - name: blackout-id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityModelBlackout'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
      - Blackouts
      summary: Update Blackout
      description: Update an existing Blackout
      operationId: update-blackout
      parameters:
      - name: blackout-id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Blackout'
        required: true
      responses:
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Action conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Resource validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrors'
    delete:
      tags:
      - Blackouts
      summary: Delete Blackout
      description: Delete an existing Blackout
      operationId: delete-blackout
      parameters:
      - name: blackout-id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Action conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    PageMetadata:
      properties:
        index:
          type: integer
          format: int64
        size:
          type: integer
          format: int64
        sort:
          type: string
        total_data:
          type: integer
          format: int64
        total_pages:
          type: integer
          format: int64
        page_token:
          type: string
    ValidationError:
      properties:
        type:
          type: string
          description: The type of the validation error
          enum:
          - OBJECT
          - PROPERTY
          readOnly: true
        context:
          type: string
          description: An optional contextual indicator of a part of the request which failed validation
          readOnly: true
        explanation:
          type: string
          description: Details of the validation error
          readOnly: true
    PageBlackout:
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/EntityModelBlackout'
        metadata:
          $ref: '#/components/schemas/PageMetadata'
        links:
          type: array
          items:
            $ref: '#/components/schemas/Link'
          readOnly: true
    Blackout:
      properties:
        id:
          type: string
          format: uuid
          description: The ID of the Blackout
          readOnly: true
        name:
          type: string
          description: The name of the Blackout
          maxLength: 200
          minLength: 1
        scope:
          type: string
          description: The scope of the Blackout
          enum:
          - APP
          - GLOBAL
          readOnly: true
        enabled:
          type: boolean
          description: The enabled property of the Blackout
        active:
          type: boolean
          description: The current active status of the Blackout
          readOnly: true
        app:
          $ref: '#/components/schemas/ReferenceResource'
        first_start:
          type: string
          format: date-time
          description: The first start date and time of the Blackout
        first_end:
          type: string
          format: date-time
          description: The first end date and time of the Blackout
        last_start:
          type: string
          format: date-time
          description: The last start date and time of the Blackout
        frequency:
          $ref: '#/components/schemas/Frequency'
        rrule:
          type: string
          description: The rrule describes how (and if) the blackout should repeat. Should not be included if a frequency has been provided.
      required:
      - enabled
      - first_end
      - first_start
      - name
      title: Blackout
    Link:
      properties:
        rel:
          type: string
        href:
          type: string
        profile:
          type: string
        name:
          type: string
      readOnly: true
    Frequency:
      description: The frequency at which the Blackout applies. Should not be included if a rrule has been provided.
      properties:
        type:
          type: string
          description: The type of the Frequency
          enum:
          - ONCE
          - HOURLY
          - DAILY
          - WEEKLY
          - MONTHLY
        interval:
          type: integer
          format: int32
          description: The interval of the Frequency
      title: Frequency
    EntityModelBlackout:
      properties:
        id:
          type: string
          format: uuid
          description: The ID of the Blackout
          readOnly: true
        name:
          type: string
          description: The name of the Blackout
          maxLength: 200
          minLength: 1
        scope:
          type: string
          description: The scope of the Blackout
          enum:
          - APP
          - GLOBAL
          readOnly: true
        enabled:
          type: boolean
          description: The enabled property of the Blackout
        active:
          type: boolean
          description: The current active status of the Blackout
          readOnly: true
        app:
          $ref: '#/components/schemas/ReferenceResource'
        first_start:
          type: string
          format: date-time
          description: The first start date and time of the Blackout
        first_end:
          type: string
          format: date-time
          description: The first end date and time of the Blackout
        last_start:
          type: string
          format: date-time
          description: The last start date and time of the Blackout
        frequency:
          $ref: '#/components/schemas/Frequency'
        rrule:
          type: string
          description: The rrule describes how (and if) the blackout should repeat. Should not be included if a frequency has been provided.
        links:
          type: array
          items:
            $ref: '#/components/schemas/Link'
          readOnly: true
      required:
      - enabled
      - first_end
      - first_start
      - name
    Error:
      properties:
        status:
          type: string
          description: A description of the type of error based on HTTP status code
          enum:
          - 100 CONTINUE
          - 101 SWITCHING_PROTOCOLS
          - 102 PROCESSING
          - 103 EARLY_HINTS
          - 103 CHECKPOINT
          - 200 OK
          - 201 CREATED
          - 202 ACCEPTED
          - 203 NON_AUTHORITATIVE_INFORMATION
          - 204 NO_CONTENT
          - 205 RESET_CONTENT
          - 206 PARTIAL_CONTENT
          - 207 MULTI_STATUS
          - 208 ALREADY_REPORTED
          - 226 IM_USED
          - 300 MULTIPLE_CHOICES
          - 301 MOVED_PERMANENTLY
          - 302 FOUND
          - 302 MOVED_TEMPORARILY
          - 303 SEE_OTHER
          - 304 NOT_MODIFIED
          - 305 USE_PROXY
          - 307 TEMPORARY_REDIRECT
          - 308 PERMANENT_REDIRECT
          - 400 BAD_REQUEST
          - 401 UNAUTHORIZED
          - 402 PAYMENT_REQUIRED
          - 403 FORBIDDEN
          - 404 NOT_FOUND
          - 405 METHOD_NOT_ALLOWED
          - 406 NOT_ACCEPTABLE
          - 407 PROXY_AUTHENTICATION_REQUIRED
          - 408 REQUEST_TIMEOUT
          - 409 CONFLICT
          - 410 GONE
          - 411 LENGTH_REQUIRED
          - 412 PRECONDITION_FAILED
          - 413 PAYLOAD_TOO_LARGE
          - 413 REQUEST_ENTITY_TOO_LARGE
          - 414 URI_TOO_LONG
          - 414 REQUEST_URI_TOO_LONG
          - 415 UNSUPPORTED_MEDIA_TYPE
          - 416 REQUESTED_RANGE_NOT_SATISFIABLE
          - 417 EXPECTATION_FAILED
          - 418 I_AM_A_TEAPOT
          - 419 INSUFFICIENT_SPACE_ON_RESOURCE
          - 420 METHOD_FAILURE
          - 421 DESTINATION_LOCKED
          - 422 UNPROCESSABLE_ENTITY
          - 423 LOCKED
          - 424 FAILED_DEPENDENCY
          - 425 TOO_EARLY
          - 426 UPGRADE_REQUIRED
          - 428 PRECONDITION_REQUIRED
          - 429 TOO_MANY_REQUESTS
          - 431 REQUEST_HEADER_FIELDS_TOO_LARGE
          - 451 UNAVAILABLE_FOR_LEGAL_REASONS
          - 500 INTERNAL_SERVER_ERROR
          - 501 NOT_IMPLEMENTED
          - 502 BAD_GATEWAY
          - 503 SERVICE_UNAVAILABLE
          - 504 GATEWAY_TIMEOUT
          - 505 HTTP_VERSION_NOT_SUPPORTED
          - 506 VARIANT_ALSO_NEGOTIATES
          - 507 INSUFFICIENT_STORAGE
          - 508 LOOP_DETECTED
          - 509 BANDWIDTH_LIMIT_EXCEEDED
          - 510 NOT_EXTENDED
          - 511 NETWORK_AUTHENTICATION_REQUIRED
          readOnly: true
        message:
          type: string
          description: A description of the error
          readOnly: true
        errorCode:
          type: string
          description: An optional code which may help support indicate the underlying cause of the error
          enum:
          - E1
          - E2
          - E3
          - E4
          - E5
          - E6
          - E7
          - E8
          - E9
          - E10
          - E11
          - E12
          - E13
          - E14
          - E15
          - E16
          - E17
          - E18
          - E19
          - E20
          - E22
          - E23
          - E24
          - E25
          - E26
          - E27
          - E28
          - E999
          readOnly: true
      title: Error
    ReferenceResource:
      description: The last editor of the comment
      properties:
        id:
          type: string
          format: uuid
      readOnly: true
      required:
      - id
    ValidationErrors:
      properties:
        status:
          type: string
          description: A description of the type of error based on HTTP status code
          enum:
          - 100 CONTINUE
          - 101 SWITCHING_PROTOCOLS
          - 102 PROCESSING
          - 103 EARLY_HINTS
          - 103 CHECKPOINT
          - 200 OK
          - 201 CREATED
          - 202 ACCEPTED
          - 203 NON_AUTHORITATIVE_INFORMATION
          - 204 NO_CONTENT
          - 205 RESET_CONTENT
          - 206 PARTIAL_CONTENT
          - 207 MULTI_STATUS
          - 208 ALREADY_REPORTED
          - 226 IM_USED
          - 300 MULTIPLE_CHOICES
          - 301 MOVED_PERMANENTLY
          - 302 FOUND
          - 302 MOVED_TEMPORARILY
          - 303 SEE_OTHER
          - 304 NOT_MODIFIED
          - 305 USE_PROXY
          - 307 TEMPORARY_REDIRECT
          - 308 PERMANENT_REDIRECT
          - 400 BAD_REQUEST
          - 401 UNAUTHORIZED
          - 402 PAYMENT_REQUIRED
          - 403 FORBIDDEN
          - 404 NOT_FOUND
          - 405 METHOD_NOT_ALLOWED
          - 406 NOT_ACCEPTABLE
          - 407 PROXY_AUTHENTICATION_REQUIRED
          - 408 REQUEST_TIMEOUT
          - 409 CONFLICT
          - 410 GONE
          - 411 LENGTH_REQUIRED
          - 412 PRECONDITION_FAILED
          - 413 PAYLOAD_TOO_LARGE
          - 413 REQUEST_ENTITY_TOO_LARGE
          - 414 URI_TOO_LONG
          - 414 REQUEST_URI_TOO_LONG
          - 415 UNSUPPORTED_MEDIA_TYPE
          - 416 REQUESTED_RANGE_NOT_SATISFIABLE
          - 417 EXPECTATION_FAILED
          - 418 I_AM_A_TEAPOT
          - 419 INSUFFICIENT_SPACE_ON_RESOURCE
          - 420 METHOD_FAILURE
          - 421 DESTINATION_LOCKED
          - 422 UNPROCESSABLE_ENTITY
          - 423 LOCKED
          - 424 FAILED_DEPENDENCY
          - 425 TOO_EARLY
          - 426 UPGRADE_REQUIRED
          - 428 PRECONDITION_REQUIRED
          - 429 TOO_MANY_REQUESTS
          - 431 REQUEST_HEADER_FIELDS_TOO_LARGE
          - 451 UNAVAILABLE_FOR_LEGAL_REASONS
          - 500 INTERNAL_SERVER_ERROR
          - 501 NOT_IMPLEMENTED
          - 502 BAD_GATEWAY
          - 503 SERVICE_UNAVAILABLE
          - 504 GATEWAY_TIMEOUT
          - 505 HTTP_VERSION_NOT_SUPPORTED
          - 506 VARIANT_ALSO_NEGOTIATES
          - 507 INSUFFICIENT_STORAGE
          - 508 LOOP_DETECTED
          - 509 BANDWIDTH_LIMIT_EXCEEDED
          - 510 NOT_EXTENDED
          - 511 NETWORK_AUTHENTICATION_REQUIRED
          readOnly: true
        message:
          type: string
          description: A description of the error
          readOnly: true
        errorCode:
          type: string
          description: An optional code which may help support indicate the underlying cause of the error
          enum:
          - E1
          - E2
          - E3
          - E4
          - E5
          - E6
          - E7
          - E8
          - E9
          - E10
          - E11
          - E12
          - E13
          - E14
          - E15
          - E16
          - E17
          - E18
          - E19
          - E20
          - E22
          - E23
          - E24
          - E25
          - E26
          - E27
          - E28
          - E999
          readOnly: true
        errors:
          type: array
          description: A list of validation errors, when the HTTP status code is 422
          items:
            $ref: '#/components/schemas/ValidationError'
          readOnly: true
      title: ValidationErrors