{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/mongodb/main/json-schema/mongodb-org-service-account-request-schema.json", "title": "OrgServiceAccountRequest", "description": "Organization Service Account that Atlas creates for this organization. If omitted, Atlas doesn't create an organization Service Account for this organization. If specified, this object requires all body parameters. Note that API Keys cannot be specified in the same request.", "x-generated": "2026-10-03", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/mongodb-service-accounts-api-openapi.yml#/components/schemas/OrgServiceAccountRequest", "properties": { "description": { "description": "Human readable description for the Service Account.", "maxLength": 250, "minLength": 1, "pattern": "^[\\p{L}\\p{N}\\-_.,' ]*$", "type": "string" }, "name": { "description": "Human-readable name for the Service Account. The name is modifiable and does not have to be unique.", "maxLength": 64, "minLength": 1, "pattern": "^[\\p{L}\\p{N}\\-_.,' ]*$", "type": "string" }, "roles": { "description": "A list of organization-level roles for the Service Account.", "items": { "description": "Organization roles available for Service Accounts.", "enum": [ "ORG_MEMBER", "ORG_READ_ONLY", "ORG_BILLING_ADMIN", "ORG_BILLING_READ_ONLY", "ORG_STREAM_PROCESSING_ADMIN", "ORG_GROUP_CREATOR", "ORG_OWNER" ], "type": "string" }, "minItems": 1, "type": "array" }, "secretExpiresAfterHours": { "description": "The expiration time of the new Service Account secret, provided in hours. The minimum and maximum allowed expiration times are subject to change and are controlled by the organization's settings.", "format": "int32", "type": "integer" } }, "required": [ "description", "name", "roles", "secretExpiresAfterHours" ], "type": "object" }