Skip to content

sandbox

sandbox

Pydantic models for Domo Sandbox (version/v1) requests and responses.

SandboxConfigResponse is based on actual API responses from domo-community (2026-05-10). The request models mirror the Postman "Sandbox" folder examples (scripts/postman_monitor/api_register.json); their field shapes rest on those examples and are not verified against a live instance.

CommitCreate

Bases: SandboxRequestModel

Body for POST /repositories/{id}/commitRequests.

ContentMapping

Bases: SandboxRequestModel

One entry of a promoteAndSeed mapping list.

InstanceAliasUpdate

Bases: SandboxRequestModel

Body for POST /authorizations/aliases.

PromoteAndSeedRequest

Bases: SandboxRequestModel

Body for POST /repositories/{id}/deployments/{deploymentId}/promoteAndSeed.

RepositoryPermissionUpdate

Bases: SandboxRequestModel

One permission change; the unused principal ID is sent as ''.

update_repo_permissions wraps a list of these in {"repositoryPermissionUpdates": [...]}.

SandboxConfigResponse

Bases: BaseModel

Response model for GET /api/instance/v1/sandbox/config responses.

SandboxRequestModel

Bases: BaseModel

Base for sandbox request bodies: snake_case fields, camelCase on the wire.

to_body

to_body() -> dict[str, Any]

Serialize to the camelCase JSON body Domo expects.

Source code in src/crew_dcs/models/sandbox.py
32
33
34
def to_body(self) -> dict[str, Any]:
    """Serialize to the camelCase JSON body Domo expects."""
    return self.model_dump(by_alias=True, mode="json")