MemorySync
API Reference

Organization Settings

Read tenant-level settings: default project, retention policy, allowed login providers, audit export toggles, MFA enforcement, IP allowlists. Settings apply to every member of the organisation.
GET/admin/tenant-settings

Authentication

Accepts a JWT bearer token (Authorization: Bearer eyJ…) or an API key (X-API-Key: ms_live_…). API-key callers should send X-Project-ID unless the key is project-locked. Cross-tenant operators must send X-Tenant-ID.

Response

Returns 200 OK with the following body.

FieldTypeRequiredDescription
retention_daysintegeroptionalDefault memory retention. null = indefinite.
mfa_requiredbooleanoptionalWhether MFA is enforced for every member.
allowed_login_providersstring[]optionalPermitted SSO / OAuth providers.
ip_allowliststring[]optionalCIDR list. Empty = allow all.
audit_export_enabledbooleanoptionalWhether audit export endpoints are accessible.
updated_atstringoptionalRFC 3339 UTC.
200.json
{
"retention_days": 90,
"mfa_required": true,
"allowed_login_providers": [
"password",
"okta",
"google"
],
"ip_allowlist": [
"10.0.0.0/8"
],
"audit_export_enabled": true,
"updated_at": "2026-05-04T10:00:00Z"
}

Errors

StatusCodeDescription
400validation_errorBody or query failed schema validation. The error includes the offending field name.
401unauthenticatedMissing or invalid bearer token / API key.
403forbiddenAuthenticated principal lacks the required scope, role, or project access.
404not_foundTarget resource does not exist or is not visible to the calling tenant.
429rate_limitedPer-IP or per-route limit exceeded. Respect the Retry-After header.
500internal_errorUnhandled server error. Quote the request_id when contacting support.

Examples

cURL
curl -X GET https://api.memorysync.io/admin/tenant-settings \
-H "Authorization: Bearer $MEMORYSYNC_KEY"
javascript
import { MemorySync } from 'memorysync'
const client = new MemorySync({ apiKey: process.env.MEMORYSYNC_KEY })
const result = await client.request({
method: 'GET',
path: '/admin/tenant-settings',
})
console.log(result)
python
from memorysync import Client
client = Client(api_key=os.environ["MEMORYSYNC_KEY"])
result = client.request(
method="GET",
path="/admin/tenant-settings",
)
print(result)

Behavior & notes

Update settings via PUT /admin/tenant-settings with the full settings payload. Changes take effect on the next request — no provisioning delay. Every change writes an audit row with the previous and new values.