{
  "packaging_version": "2",
  "type": "api",
  "name": "REST API",
  "version": "1.0.0",
  "min_app_version": "0.1.0",
  "description": "Connect to any HTTP endpoint returning asset data",
  "category": "Custom Integration",
  "icon": "globe",
  "supported_modes": ["batch"],
  "implementation": {
    "type": "container",
    "image": "ghcr.io/silentpulse/connector-api:1.0.0",
    "resources": { "cpu": "50m", "memory": "64Mi" },
    "scaling": { "min_replicas": 1, "max_replicas": 2 },
    "health_check": { "command": ["/connector", "--healthcheck"], "interval": 30, "timeout": 5 },
    "build": { "repository": "https://github.com/silentpulse/connectors" }
  },
  "fields": [
    { "name": "url", "type": "url", "required": true, "group": "connection", "label": "URL", "description": "HTTP endpoint URL" },
    { "name": "method", "type": "text", "required": false, "group": "connection", "label": "Method", "default": "GET" },
    { "name": "auth_header", "type": "password", "required": false, "group": "connection", "label": "Auth Header", "description": "Authorization header value" },
    { "name": "skip_tls_verify", "type": "boolean", "required": false, "group": "connection", "label": "Skip TLS Verify" },
    { "name": "body_template", "type": "textarea", "required": false, "group": "query", "label": "Body Template", "description": "JSON body for POST requests" },
    { "name": "hostname_jsonpath", "type": "text", "required": true, "group": "query", "label": "Hostname JSONPath", "default": "$.data[*].hostname" }
  ],
  "maintainer": {
    "name": "SilentPulse",
    "email": "support@silentpulse.io",
    "url": "https://silentpulse.io"
  },
  "repository": "https://github.com/silentpulse/connectors",
  "tags": ["api", "rest", "http", "webhook", "custom"],
  "readme": "# REST API Connector\n\nConnect to any HTTP endpoint that returns asset data in JSON format. Use this connector to integrate with custom or unsupported systems.\n\n## Requirements\n\n- HTTP(S) endpoint returning JSON with asset hostnames\n- Network access from SilentPulse to the endpoint\n\n## Configuration\n\nProvide the endpoint URL and configure the JSONPath expression to extract hostnames from the response body.\n\n## Authentication\n\nSet the Auth Header field to pass an Authorization header (e.g., \"Bearer token123\" or \"Basic base64encoded\").",
  "notes": {
    "requirements": "HTTP(S) endpoint returning JSON data with asset identifiers",
    "configuration": "Provide URL, HTTP method, and JSONPath for hostname extraction.",
    "limitations": "Response must be valid JSON. Max response size 10MB. No pagination support yet."
  }
}
