Rapid7 Attachments API
An API used to upload, list, download and delete attachments. For example, the create API can be used to upload an attachment.
An API used to upload, list, download and delete attachments. For example, the create API can be used to upload an attachment.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/rapid7-attachments-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: InsightIDR Attachments API
version: v1
description: 'Introduction
Welcome to the reference documentation for the InsightIDR public APIs.
Here are a few resources to help you learn how to start using our APIs:
Learn about basic concepts and capabilities
Get an Insight platform API key to set up authentication
See available Insight product APIs
Learn more about InsightIDR
After you''ve got the basics down, you can use this API guide to find examples of requests and responses.'
servers:
- url: https://{region}.api.insight.rapid7.com/
variables:
region:
default: us
description: Insight API region
security: []
tags:
- name: Attachments
description: An API used to upload, list, download and delete attachments. For example, the create API can be used to upload an attachment.
paths:
/idr/v1/attachments:
get:
tags:
- Attachments
summary: List attachments
description: Retrieves attachments matching the given request parameters. For example, this API allows you to list all attachments by investigation.
operationId: listAttachments
parameters:
- name: target
in: query
description: Return attachments with this target.
required: true
schema:
type: string
example: rrn:investigation:us:01234567-89ab-cdef-0000-123123123123:investigation:ABCDEF543210
- name: index
in: query
description: The optional, 0 based index of the page to retrieve. Must be an integer greater than or equal to 0.
required: false
schema:
type: integer
default: 0
minimum: 0
example: 0
- name: size
in: query
description: The optional size of the page to retrieve. Must be an integer greater than 0 or less than or equal to 100.
required: false
schema:
type: integer
default: 20
maximum: 100
minimum: 1
example: 20
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PageAttachment'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'403':
description: Insufficient Permissions
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'404':
description: Entity Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'502':
description: Bad Gateway
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
post:
tags:
- Attachments
summary: Upload attachment
description: An API used to upload one or more attachments. By default, attachments are not associated with a comment. Use this API to create comment.
operationId: uploadAttachment
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UploadAttachmentRequest'
application/json:
schema:
type: object
properties:
filedata:
type: array
items:
type: string
format: binary
required:
- filedata
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Attachment'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'403':
description: Insufficient Permissions
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'404':
description: Entity Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'502':
description: Bad Gateway
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
/idr/v1/attachments/{rrn}:
get:
tags:
- Attachments
summary: Download attachment
description: An API you can use to download an attachment by RRN. The RRN determines which attachment is downloaded.
operationId: downloadAttachment
parameters:
- name: rrn
in: path
description: The RRN of the attachment.
required: true
schema:
type: string
example: rrn:collaboration:us:01234567-89ab-cdef-0000-123123123123:attachment:ABCDEF543210
responses:
'200':
description: OK
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorResponse1'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorResponse1'
'403':
description: Insufficient Permissions
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorResponse1'
'404':
description: Entity Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorResponse1'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorResponse1'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorResponse1'
'502':
description: Bad Gateway
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorResponse1'
'503':
description: Service Unavailable
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorResponse1'
'504':
description: Gateway Timeout
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorResponse1'
delete:
tags:
- Attachments
summary: Delete an attachment
description: An API you can use to delete an attachment with the given RRN.
operationId: deleteAttachment
parameters:
- name: rrn
in: path
description: The RRN of the attachment.
required: true
schema:
type: string
example: rrn:collaboration:us:01234567-89ab-cdef-0000-123123123123:attachment:ABCDEF543210
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'403':
description: Insufficient Permissions
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'404':
description: Entity Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'502':
description: Bad Gateway
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
/idr/v1/attachments/{rrn}/metadata:
get:
tags:
- Attachments
summary: Get attachment information
description: An API you can use to get information from an attachment by RRN. The RRN identifies the attachment.
operationId: getAttachment
parameters:
- name: rrn
in: path
description: The RRN of the attachment.
required: true
schema:
type: string
example: rrn:collaboration:us:01234567-89ab-cdef-0000-123123123123:attachment:ABCDEF543210
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Attachment'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'403':
description: Insufficient Permissions
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'404':
description: Entity Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'502':
description: Bad Gateway
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse1'
components:
schemas:
RRN:
type: object
properties:
partition:
type: string
service:
type: string
regionCode:
type: string
organizationId:
type: string
resourceTypes:
type: array
items:
type: string
resource:
type: string
ErrorResponse1:
type: object
properties:
message:
type: string
description: A human-readable message describing the error that occurred.
example: A human-readable message describing the error that occurred.
correlation_id:
type: string
description: An identifier that uniquely identifies the failed request.
example: An identifier that uniquely identifies the failed request.
required:
- message
PageMetadata1:
type: object
properties:
index:
type: integer
format: int32
description: The 0 based index of the page retrieved.
example: 0
size:
type: integer
format: int32
description: The size of the page requested.
example: 20
total_pages:
type: integer
format: int32
description: The total number of pages available with the given filter parameters.
example: 1
total_data:
type: integer
format: int64
description: The total number of results available with the given filter parameters.
example: 15
required:
- index
- size
- total_data
- total_pages
Creator:
type: object
properties:
type:
type: string
description: A type that denotes who or what created a resource.
enum:
- USER
- ORG_API_KEY
- SYSTEM
example: USER
name:
type: string
description: The name of who or what created a resource.
example: John Doe
required:
- name
- type
PageAttachment:
type: object
properties:
data:
type: array
description: The list of data that matches the pagination parameters. If no results match this will be an empty list.
items:
$ref: '#/components/schemas/Attachment'
metadata:
$ref: '#/components/schemas/PageMetadata1'
description: The pagination parameters used to generate this page result.
required:
- data
- metadata
Attachment:
type: object
properties:
rrn:
$ref: '#/components/schemas/RRN'
description: The RRN of the attachment.
example: rrn:collaboration::orgId_123:attachment:d7812988-f171-4164-9309-65c32d5da28f
creator:
$ref: '#/components/schemas/Creator'
description: Who or what created the resource.
created_time:
type: string
description: The time the attachment was created as an ISO formatted timestamp.
example: '2018-06-06T16:56:42Z'
file_name:
type: string
description: The original filename of the uploaded attachment.
example: screenshot.png
mime_type:
type: string
description: The mime type of the attachment.
example: image/png
size:
type: integer
format: int64
description: The size in bytes of the attachment.
example: 12345
scan_status:
type: string
description: The scan status of the attachment, indicating whether the attachment has been scanned and, if so, the result. INFECTED or PENDING attachments may not be downloaded.
example: CLEAN
required:
- created_time
- creator
- file_name
- mime_type
- rrn
- scan_status
- size
UploadAttachmentRequest:
type: object
properties:
filedata:
type: array
description: The list of files to upload as attachments.
items:
type: string
format: binary
externalDocs:
description: Product docs
url: https://insightidr.help.rapid7.com/docs