Skip to main content

Surface Command SDK

The surcom-sdk helps you build data connectors for the Rapid7 Surface Command platform.

Source code for all connectors is available in our GitHub repository.

Getting Started

  1. Install the SDK:

    pip install r7-surcom-sdk
    
  2. Configure the SDK with your API key

  3. Build your first connector by following our tutorial

  4. Contribute to our open source connectors or share your own connector with the community!

Documentation

Changes

0.17.20 - 2026-07-14

Added

  • MockServer: new mockserver load command.
  • connector invoke --extra-volume: support for mounting additional volumes to the invoked Docker container.
  • connector invoke --env-var: support for injecting environment variables (as KEY=VALUE) into the invoked Docker container.
  • Validate:
    • line-length check (max 72-byte lines for signed connectors; JAR manifest max 67).
    • module folder must match the connector directory name (handles .app suffix).
    • required-keys validation on the type checker.
    • privileged_access_management accepted as a valid category.
  • Docs: Required? column, Valid Values column for enum settings, bold setting titles; Components and requirements sections only rendered when non-empty.
  • Package (Orchestrator):
    • manually install the latest certifi when building for orchestrator.
    • copy .json/.yaml files (and jinja2 templates in subdirs) from the functions directory.
    • copy types/ to the plugin util/ directory.
    • no longer ignore files starting with __ (still ignores __init__.py).
  • Manifest: support legacy test function id, legacy_id property, and custom secret_reference.
  • Plugin: connector_type is now passed down; handle mismatched legacy function parameter vs. setting name.
  • Import: install unique types when importing data.
  • Hidden settings: pass through x-samos-hidden settings.
  • Skills: sc-connectors updated with the new PAM category.

Changed

  • Legacy validation: improved wording and deduplicated checks.
  • surcom_api: import_ids are now URL-escaped in requests (they can contain /).
  • Deps: bumped packaging (→ 26.0), argcomplete (→ 3.7), uv (→ 0.11.28), requests (→ 2.34.2), and urllib3 (→ 2.7.0), requests/urllib3 were also unpinned from exact versions to compatible-release specifiers.

0.16.19 - 2026-05-05

Added

  • Orchestrator / Plugin conversion: build a plugin from a Legacy Connector; support connectors with a custom tarball; new save_docker_image config that skips producing a .tar file; combine connector + plugin deps via uv; dep dry-run runs inside a python:3.11 container.
  • sdk_helpers: new get_path_to_functions_dir helper and legacy-to-plugin building support.
  • sdk_config: new method to add a config to the root section.
  • Validation: new icon validation.
  • Docs: handle community as an author.
  • Plugin Wrapper: extra error handling for improved logging.
  • Codegen: uses latest deps when compiling requirements.
  • Packaging: .txt files now included in package data; insightconnect-plugin-runtime bumped to 6.4.4.

Fixed

  • Plugin: return an empty dict/list when a connector returns None/nothing; do not raise if there is no types/ directory.
  • Orchestrator: resolve settings when converting to a plugin; connector deps now take precedence over plugin deps.

0.15.18 - 2026-04-14

Added

  • data delete: new command for deleting imported data, with import-id lookup helpers added to surcom_api. Tutorial and connector_id now share the same lookup logic.
  • Orchestrator: when a build-number is provided, +custom is no longer appended.

Changed

  • ext lib: skipped entirely for vendored connectors.
  • Deps: uv updated to 0.11.6; requests bumped.

Removed

  • Validate: removed the beta validation (tests retained).

0.14.16 - 2026-03-23

Added

  • Agent Skills: new sc-surcom-sdk, sc-cypher-queries, and sc-connectors skills. sc-surcom-sdk includes a config overview, connector-generation guidance, and a list of valid URLs. sc-cypher-queries and sc-type-system now include a derived-properties reference.
  • KeyboardInterrupt: Ctrl+C is now handled gracefully across commands.
  • config init: no longer prompts per-skill — installs all in one go.
  • validate: checks that every type in the types/ directory is defined.

Changed

  • sc-type-system: cypher query details moved out into the dedicated sc-cypher-queries skill.

Release files for r7-surcom-sdk 0.17.20

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for r7-surcom-sdk 0.17.20
File Size Uploaded
r7_surcom_sdk-0.17.20.tar.gz 679.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for r7-surcom-sdk 0.17.20
File Interpreter ABI Platform
r7_surcom_sdk-0.17.20-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / r7_surcom_sdk-0.17.20.tar.gz

Download URL r7_surcom_sdk-0.17.20.tar.gz
Size 679.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b31936e617dfc936de97f32c935d2a759cc2e85ff99191de1f5a83c650cda3be
BLAKE2b-256 checksum
How to use checksums
5caecbe92319bdf92966fe397c996b8cdb2afc81dd7089ae3d1d3a41db078fbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release files / r7_surcom_sdk-0.17.20-py3-none-any.whl

Download URL r7_surcom_sdk-0.17.20-py3-none-any.whl
Size 738.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5a8b25593d55e1fbf6508f7e5805e183121c448eccb647fdf103c29c565a2f96
BLAKE2b-256 checksum
How to use checksums
a6d06dc2ab599337133de9ff4ff14cf148f78609ab0e3570a956cf39ed07afae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

0.17.20 This release

2 release files

0.9.11

2 release files

0.8.10

2 release files

0.7.9

2 release files

0.6.8

2 release files

0.5.7

2 release files

0.3.6

2 release files

0.2.5

2 release files

0.1.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page