Authentication & metadata
Database connectivity and metadata operations including credential validation, schema retrieval, and preflight checks.
Endpoints
Fetch Metadata
POST/workflows/v1/metadata
Retrieve comprehensive database structure information including available databases, schemas, tables, and their relationships. Supports filtering by metadata type and specific database selection for targeted discovery.
Request Body
application/jsonRequired
type
stringoptionalScope of metadata discovery operation, defaults to 'all' for comprehensive database structure retrieval
Default:
"all"
Enum:
"database"
"schema"
"all"
Example:
"all"
database
stringoptionalTarget database name to limit metadata discovery scope, omit for all accessible databases
Example:
"specific_database"
authType
stringREQUIREDDatabase authentication method
Enum:
"basic"
"oauth"
"token"
Example:
"basic"
host
stringREQUIREDDatabase server hostname or IP address
Example:
"localhost"
port
integerREQUIREDDatabase server port number
Example:
5432
username
stringREQUIREDDatabase username for authentication
Example:
"username"
password
stringREQUIREDDatabase user password or authentication token for connection authentication
Example:
"password"
extra
objectoptionalExtended authentication parameters including SSL certificates, API keys, OAuth tokens, private keys, and database-specific connection options, automatically parsed from JSON string or object format
Example:
{
"ssl_cert": "-----BEGIN CERTIFICATE-----...",
"api_key": "sk-1234567890abcdef",
"oauth_token": "bearer_token_123",
"ssl_mode": "require"
}
Response
200Metadata fetched successfully
success
booleanREQUIREDWhether the operation was successful
Example:
true
data
objectREQUIREDMetadata information
Error Codes
400
Bad Request
Invalid request parameters or malformed JSON payload
401
Unauthorized
Missing or invalid authentication token
500
Internal Server Error
Database connectivity or authentication error
Code examples - Fetch Metadata
- cURL
- Python
BASH Request (cURL)
curl -X POST "http://localhost:8000/workflows/v1/metadata" \
-H "Content-Type: application/json" \
-d '{
"type": "all",
"database": "specific_database",
"authType": "basic",
"host": "localhost",
"port": 5432,
"username": "username",
"password": "password"
}'
Python Request (Python)
import requests
response = requests.post(
"http://localhost:8000/workflows/v1/metadata",
json={
"type": "all",
"database": "specific_database",
"authType": "basic",
"host": "localhost",
"port": 5432,
"username": "username",
"password": "password"
}
)
metadata = response.json()