Skip to main content
GET
https://sandbox.getcollate.io/api
/
v1
/
services
/
messagingServices
/
name
/
{fqn}
/
export
GET /v1/services/messagingServices/name/{fqn}/export
import requests

base_url = "https://your-company.getcollate.io/api"
headers = {"Authorization": "Bearer your-jwt-token"}

# Synchronous export
response = requests.get(
    f"{base_url}/v1/services/messagingServices/name/sample_kafka/export",
    headers=headers
)
csv_data = response.text
print(csv_data)

# Async export
response = requests.get(
    f"{base_url}/v1/services/messagingServices/name/sample_kafka/exportAsync",
    headers=headers
)
job = response.json()
print(f"Export job: {job}")

# Synchronous import (dry run first)
response = requests.put(
    f"{base_url}/v1/services/messagingServices/name/sample_kafka/import",
    params={"dryRun": True},
    headers={**headers, "Content-Type": "text/plain"},
    data=csv_data
)
print(f"Dry run result: {response.json()}")

# Apply the import
response = requests.put(
    f"{base_url}/v1/services/messagingServices/name/sample_kafka/import",
    params={"dryRun": False},
    headers={**headers, "Content-Type": "text/plain"},
    data=csv_data
)

# Async import
response = requests.put(
    f"{base_url}/v1/services/messagingServices/name/sample_kafka/importAsync",
    params={"dryRun": False},
    headers={**headers, "Content-Type": "text/plain"},
    data=csv_data
)
"name,displayName,description,owner,tags,domain\norder_events,Order Events,Events for order processing,team:data-engineering,Tier.Tier1,,"

Import & Export

Export messaging service metadata (topics, owners, tags) to CSV and import changes back. Supports both synchronous and asynchronous operations.

Export to CSV

GET /v1/services/messagingServices/name/{fqn}/export
fqn
string
required
Fully qualified name of the messaging service (e.g., sample_kafka).

Export Async

GET /v1/services/messagingServices/name/{fqn}/exportAsync Returns a job ID for large exports that can be polled for completion.

Import from CSV

PUT /v1/services/messagingServices/name/{fqn}/import
fqn
string
required
Fully qualified name of the messaging service.
dryRun
boolean
default:"true"
If true, validates the CSV without applying changes. Set to false to apply.

Import Async

PUT /v1/services/messagingServices/name/{fqn}/importAsync For large imports, use the async variant which returns a job ID.
GET /v1/services/messagingServices/name/{fqn}/export
import requests

base_url = "https://your-company.getcollate.io/api"
headers = {"Authorization": "Bearer your-jwt-token"}

# Synchronous export
response = requests.get(
    f"{base_url}/v1/services/messagingServices/name/sample_kafka/export",
    headers=headers
)
csv_data = response.text
print(csv_data)

# Async export
response = requests.get(
    f"{base_url}/v1/services/messagingServices/name/sample_kafka/exportAsync",
    headers=headers
)
job = response.json()
print(f"Export job: {job}")

# Synchronous import (dry run first)
response = requests.put(
    f"{base_url}/v1/services/messagingServices/name/sample_kafka/import",
    params={"dryRun": True},
    headers={**headers, "Content-Type": "text/plain"},
    data=csv_data
)
print(f"Dry run result: {response.json()}")

# Apply the import
response = requests.put(
    f"{base_url}/v1/services/messagingServices/name/sample_kafka/import",
    params={"dryRun": False},
    headers={**headers, "Content-Type": "text/plain"},
    data=csv_data
)

# Async import
response = requests.put(
    f"{base_url}/v1/services/messagingServices/name/sample_kafka/importAsync",
    params={"dryRun": False},
    headers={**headers, "Content-Type": "text/plain"},
    data=csv_data
)
"name,displayName,description,owner,tags,domain\norder_events,Order Events,Events for order processing,team:data-engineering,Tier.Tier1,,"

Returns

Export returns CSV text with headers and rows for each child entity. Import returns a summary of changes applied (or validation results for dry run).

Error Handling

CodeError TypeDescription
401UNAUTHORIZEDInvalid or missing authentication token
403FORBIDDENUser lacks permission for import/export
404NOT_FOUNDMessaging service with given FQN does not exist
400BAD_REQUESTInvalid CSV format or content