Skip to main content
GET
/
api
/
v1
/
tap
Get a tap configuration
curl --request GET \
  --url http://localhost:8080/api/v1/tap \
  --header 'x-api-key: <api-key>'
{
  "name": "<string>",
  "description": "<string>",
  "targetPipeline": "<string>",
  "scriptPath": "<string>",
  "packages": [
    "<string>"
  ],
  "secretName": "<string>",
  "cronExpression": "<string>",
  "enabled": true,
  "tapType": "structured",
  "lastRunTime": "<string>",
  "lastRunRecordCount": 123,
  "lastRunError": "<string>",
  "lastRunColumns": [
    "<string>"
  ],
  "lastTestRunStatus": "<string>",
  "lastTestRunTime": "<string>",
  "lastTestRunRecordCount": 123,
  "lastTestRunError": "<string>",
  "lastTestRunDataType": "<string>",
  "lastTestRunColumns": [
    "<string>"
  ],
  "createdAt": "<string>",
  "updatedAt": "<string>",
  "script": "<string>",
  "scriptMissing": true
}

Authorizations

x-api-key
string
header
required

Optional API key for authentication (enabled via application.yaml)

Query Parameters

name
string
required

Tap name

Response

Tap configuration

Response shape of GET /api/v1/tap?name=.... Extends TapConfig with the script content fetched from MinIO and a scriptMissing flag set when the tap has a scriptPath but the object is absent from storage (e.g. deleted during an interrupted edit or re-generation). Use this flag in UIs to distinguish "never generated" (script null, flag absent) from "object vanished" (script null, scriptMissing: true).

name
string
required

Unique tap identifier

description
string
required

Plain-English instruction used to generate the script

targetPipeline
string
required

Pipeline this tap feeds into (may be empty for unattached taps)

scriptPath
string

MinIO path of the generated Python script

packages
string[]

Extra pip packages required by the script

secretName
string

Name of the tap secret (Vault) injected as env vars at runtime

cronExpression
string

Quartz CRON expression for scheduled runs (omit for manual-only)

enabled
boolean
default:true
tapType
enum<string>
default:structured

structured (default) — the script returns records that flow into a structured pipeline destination. document — the script returns {uri, filename, content} dicts destined for a vector-store pipeline (unstructured source + qdrant/pgvector/weaviate/milvus/chroma destination). The server rejects a document tap pointed at an incompatible pipeline with HTTP 400. Document taps also use a per-URI ledger so each file is processed once across re-runs.

Available options:
structured,
document
lastRunStatus
enum<string>
Available options:
success,
failure
lastRunTime
string
lastRunRecordCount
integer
lastRunError
string
lastRunDataType
enum<string>
Available options:
csv,
json,
xml,
text,
document
lastRunColumns
string[]
lastTestRunStatus
string
lastTestRunTime
string
lastTestRunRecordCount
integer
lastTestRunError
string
lastTestRunDataType
string
lastTestRunColumns
string[]
createdAt
string
updatedAt
string
script
string | null

Python script body fetched from MinIO. Null when the tap has no script yet or when the script object is missing.

scriptMissing
boolean

Present and true only when scriptPath is set but the storage read returned no object. Omitted otherwise.