Create Mongo Collection Sync
POST https://api.credal.ai/api/v0/documentCollections/mongodb/createMongoSync Content-Type: application/json
Credal lets you easily sync your MongoDB data for use in Collections and Agents. Create a new sync from a MongoDB collection to a Credal collection.
Reference: https://docs.credal.ai/api-reference/api-reference/document-collections/create-mongo-collection-sync
Authentication
Section titled “Authentication”Authorizationheader (bearer token, required) — Bearer authentication of the formBearer <token>, where token is your auth token.
Request
Section titled “Request”Body (application/json)
Section titled “Body (application/json)”This endpoint expects an object.
collectionId(UUID, required)mongoURI(string, required)config(MongoCollectionSyncConfig, required)
Response
Section titled “Response”mongoCredentialId(UUID, required)resourceId(string, required)syncLaunched(boolean, required)
MongoCollectionSyncConfig
Section titled “MongoCollectionSyncConfig”syncName(string, required)collectionName(string, required)filterExpression(any, required)sourceFields(MongoSourceFieldsConfig, required)
MongoSourceFieldsConfig
Section titled “MongoSourceFieldsConfig”body(string, required)sourceName(string, required)sourceSystemUpdated(string, optional)sourceUrl(string, optional)
Examples
Section titled “Examples”Request
{
"collectionId": "ac20e6ba-0bae-11ef-b25a-efca73df4c3a",
"mongoURI": "mongodb+srv://cluster0.abcdefg.mongodb.net/Cluster0?retryWrites=true&w=majority",
"config": {
"syncName": "My sales transcripts",
"collectionName": "myCollection",
"filterExpression": {
"status": {
"$ne": "disabled"
}
},
"sourceFields": {
"body": "body",
"sourceName": "meetingName",
"sourceSystemUpdated": "transcriptDatetime",
"sourceUrl": "link"
}
}
}Response
{
"mongoCredentialId": "5988ed76-6ee1-11ef-97dd-1fca54b7c4bc",
"resourceId": "mongo-collection-credal-sync-bfd82450-6c68-11ef-bb2b-f7176fe2f3c4",
"syncLaunched": true
}SDK Code
import { CredalClient } from "@credal/sdk";
async function main() {
const client = new CredalClient({
apiKey: "YOUR_TOKEN_HERE",
});
await client.documentCollections.createMongoCollectionSync({
collectionId: "ac20e6ba-0bae-11ef-b25a-efca73df4c3a",
mongoUri: "mongodb+srv://cluster0.abcdefg.mongodb.net/Cluster0?retryWrites=true&w=majority",
config: {
syncName: "My sales transcripts",
collectionName: "myCollection",
filterExpression: {
status: {
$ne: "disabled",
},
},
sourceFields: {
body: "body",
sourceName: "meetingName",
sourceSystemUpdated: "transcriptDatetime",
sourceUrl: "link",
},
},
});
}
main();
from credal import CredalV0
import uuid
from credal.document_collections import MongoCollectionSyncConfig, MongoSourceFieldsConfig
client = CredalV0(
api_key="YOUR_TOKEN_HERE",
)
client.document_collections.create_mongo_collection_sync(
collection_id=uuid.UUID("ac20e6ba-0bae-11ef-b25a-efca73df4c3a"),
mongo_uri="mongodb+srv://cluster0.abcdefg.mongodb.net/Cluster0?retryWrites=true&w=majority",
config=MongoCollectionSyncConfig(
sync_name="My sales transcripts",
collection_name="myCollection",
filter_expression={"status": {"$ne": "disabled"}},
source_fields=MongoSourceFieldsConfig(
body="body",
source_name="meetingName",
source_system_updated="transcriptDatetime",
source_url="link",
),
),
)