OpenAPI
Core pluginmarmotdata/openapi
Discover OpenAPI v3 specifications
The OpenAPI plugin discovers API specifications from OpenAPI v3 files. It creates assets for services and their endpoints.
The plugin scans for .json and .yaml files and parses them as OpenAPI v3 specifications.
File Sources
The spec_path field accepts local paths, S3 URIs (s3://bucket/prefix) or Git URIs (git::https://...). For S3 and Git sources, files are downloaded to a temporary directory before discovery and cleaned up afterwards.
See File Sources for the full list of supported backends, authentication options and configuration examples.
In the UI
Point-and-click, no config file needed.
- 1 Open
Runs→Create Pipeline - 2 Pick OpenAPI from the plugin list.
- 3 Fill in the wizard, set a schedule, save.
With the CLI
Save a YAML config, then run marmot ingest.
name: my-openapi-pipeline
runs:
- openapi:
spec_path: "<spec_path>"marmot ingest -c ingest.yaml Not using plugins? Other ways to populate Marmot
Configuration
6 top-level fields.
tags multiselect Tags to apply to discovered assets
external_links object[] External links to show on all assets
name string Display name for the link
icon string Icon identifier for the link
url string URL to the external resource
filter object Filter discovered assets by name (regex)
include multiselect Include patterns for resource names (regex)
exclude multiselect Exclude patterns for resource names (regex)
s3_source object S3 file source configuration
source_type = s3credentials object AWS credentials for S3 access
use_default bool Use AWS credentials from environment or default profile (recommended)
true id string AWS access key ID
secret password AWS secret access key
token password AWS session token
profile string AWS profile to use from shared credentials file
role string AWS IAM role ARN to assume
role_external_id string External ID for cross-account role assumption
region string AWS region for services
endpoint string Custom endpoint URL for AWS services
git_source object Git repository file source configuration
source_type = giturl string Git repository URL
ref string Branch, tag or commit to check out
main path string Subdirectory within the repository
token password Personal access token for HTTPS auth
ssh_key_path string Path to SSH private key for SSH auth
spec_path string Path to the directory containing the OpenAPI specifications (local path, s3://bucket/prefix or git::url)
Assets Emitted
Metadata fields this plugin attaches to each discovered asset.
Open API
OpenAPIFieldsOpenAPIFields represents OpenAPI-specific metadata fields
contact_email stringContact email
contact_name stringContact name
contact_url stringContact URL
description stringDescription of the API
external_docs stringLink to the external documentation
license_identifier stringSPDX license experession for the API
license_name stringName of the license
license_url stringURL of the license
num_deprecated_endpoints intNumber of deprecated endpoints in the OpenAPI specification
num_endpoints intNumber of endpoints in the OpenAPI specification
openapi_version stringVersion of the OpenAPI spec
servers string[]URL of the servers of the API
service_name stringName of the service that owns the resource
service_version stringVersion of the service
terms_of_service stringLink to the page that describes the terms of service