Links a project to an Atlas project for egress sync. Requires the project-owner role. When the platform enforces the Atlas access proof (the default), the request must carry an X-Atlas-Service-Account-Token header whose service account can read the Atlas project, and the Atlas project must belong to the organization's Atlas organization. The response reports sync status only — Atlas cluster topology (hosts/IPs) and raw sync errors are omitted.
Headers
-
Short-lived Atlas service-account access token used as a group-access proof (never the SA client secret); required when the platform enforces the Atlas access proof, which is the default
Responses
-
Unsupported or malformed API version, an operation unavailable in the selected published contract, or an unacceptable representation (including unsupported media-type parameters or excluded SSE). Existing authentication, authorization, and rate-limit failures take precedence.
-
OK
-
Bad Request
-
Forbidden
-
Not Found
-
Internal Server Error
-
Bad Gateway
curl \
--request PUT 'https://agentengine.mongodb.com/api/v1/projects/{id}/atlas-link' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--header "X-Atlas-Service-Account-Token: string" \
--data '{
"environment": "string",
"project_id": "string"
}'
# Headers
X-Atlas-Service-Account-Token: string
# Payload
{
"environment": "string",
"project_id": "string"
}
{
"detail": "This operation is not available in API version 2026-09-20-preview.",
"error": 406,
"errorCode": "OPERATION_NOT_IN_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "This operation supports text/event-stream, which the Accept header excludes. Remove unsupported media-type parameters or accept this type with a positive q value.",
"error": 406,
"errorCode": "UNACCEPTABLE_MEDIA_TYPE",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "The requested API version is not supported. Supported versions: 2026-09-20-preview.",
"error": 406,
"errorCode": "UNSUPPORTED_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "This operation is not available in API version 2026-09-20-preview.",
"error": 406,
"errorCode": "OPERATION_NOT_IN_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"atlas_project": {
"environment": "string",
"project_id": "string"
},
"egress_sync": {
"cluster_count": 42,
"clusters": [
{
"hosts": [
"string"
],
"name": "string",
"publicIpv4Addresses": [
"string"
],
"type": "string",
"uniqueId": "string"
}
],
"clusters_differ": true,
"last_success_at": "string",
"last_sync_at": "string",
"live_clusters": [
{
"hosts": [
"string"
],
"name": "string",
"publicIpv4Addresses": [
"string"
],
"type": "string",
"uniqueId": "string"
}
],
"live_fetch_error": "string",
"sync_error": "string",
"sync_status": "string"
},
"name": "string",
"org_id": "string",
"project_id": "string"
}
{
"atlas_project": {
"environment": "string",
"project_id": "string"
},
"egress_sync": {
"cluster_count": 42,
"clusters": [
{
"hosts": [
"string"
],
"name": "string",
"publicIpv4Addresses": [
"string"
],
"type": "string",
"uniqueId": "string"
}
],
"clusters_differ": true,
"last_success_at": "string",
"last_sync_at": "string",
"live_clusters": [
{
"hosts": [
"string"
],
"name": "string",
"publicIpv4Addresses": [
"string"
],
"type": "string",
"uniqueId": "string"
}
],
"live_fetch_error": "string",
"sync_error": "string",
"sync_status": "string"
},
"name": "string",
"org_id": "string",
"project_id": "string"
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}