> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sendrealm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Domains Cloudflare Setup — Prepare

> Review domain ownership, provider/DNS effects, and current policy before committing. Existing entitlements, quotas and verification safeguards apply. Personal keys only; current scope, project grants and role capability are required. Billing is excluded.

Requires a scoped personal key, explicit project context and current role authorization. See [Agent messaging and project operations](https://docs.sendrealm.com/tutorials/agent-messaging-project-operations.md) for review, execution receipts and recovery.


## OpenAPI

````yaml api-reference/openapi.json POST /project-operations/domains_cloudflare_setup/prepare
openapi: 3.0.1
info:
  title: Sendrealm API
  description: >-
    API for email, push, audience resources, domains, campaign drafts,
    templates, events, topics, and automations
  license:
    name: MIT
  version: 0.4.0
servers:
  - url: https://api.sendrealm.com
security:
  - bearerAuth: []
paths:
  /project-operations/domains_cloudflare_setup/prepare:
    post:
      tags:
        - Agent project operations
      summary: >-
        Review domain ownership, provider/DNS effects, and current policy before
        committing. Existing entitlements, quotas and verification safeguards
        apply.
      description: >-
        Review domain ownership, provider/DNS effects, and current policy before
        committing. Existing entitlements, quotas and verification safeguards
        apply. Personal keys only; current scope, project grants and role
        capability are required. Billing is excluded.
      operationId: domains_cloudflare_setup_prepare
      parameters:
        - name: X-Sendrealm-Project-Id
          in: header
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/McpPhaseTwoDomainsCloudflareSetup'
      responses:
        '200':
          description: Authorized result, preparation, or durable execution receipt.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  data:
                    $ref: '#/components/schemas/McpProjectOperationPreparation'
                additionalProperties: false
                required:
                  - status
                  - data
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Personal credential required or expired
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Scope, current role or project grant denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource unavailable or feature disabled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Stale preparation or conflicting resource state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Operational content validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    McpPhaseTwoDomainsCloudflareSetup:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
      required:
        - id
      x-sendrealm-mcp-contract: true
    McpProjectOperationPreparation:
      type: object
      properties:
        prepared_action_id:
          type: string
          format: uuid
        operation:
          type: string
        expires_at:
          type: string
          format: date-time
        effects:
          type: object
          properties:
            operation:
              type: string
            project_id:
              type: string
              format: uuid
            resource_id:
              type: string
              format: uuid
            current_status:
              type: string
              nullable: true
            input:
              anyOf:
                - $ref: '#/components/schemas/McpPhaseTwoCampaignSend'
                - $ref: '#/components/schemas/McpPhaseTwoChannelDelete'
                - $ref: '#/components/schemas/McpPhaseTwoChannelUpsert'
                - $ref: '#/components/schemas/McpPhaseTwoDomainsCloudflareDisconnect'
                - $ref: '#/components/schemas/McpPhaseTwoDomainsCloudflareSetup'
                - $ref: '#/components/schemas/McpPhaseTwoDomainsCreate'
                - $ref: '#/components/schemas/McpPhaseTwoDomainsDelete'
                - $ref: '#/components/schemas/McpPhaseTwoDomainsSettingsUpdate'
                - $ref: '#/components/schemas/McpPhaseTwoDomainsTransfer'
                - $ref: '#/components/schemas/McpPhaseTwoDomainsVerify'
                - $ref: '#/components/schemas/McpPhaseTwoResource'
                - $ref: '#/components/schemas/McpPhaseTwoRunAction'
                - $ref: '#/components/schemas/McpPhaseTwoSchedule'
                - $ref: '#/components/schemas/McpPhaseTwoTemplateTestEmail'
                - $ref: '#/components/schemas/McpPhaseTwoTemplateTestPush'
            sends_messages:
              type: boolean
            may_deliver_messages:
              type: boolean
            deletes_resource:
              type: boolean
            automation_effects:
              type: string
              enum:
                - suppress
                - trigger
            irreversible_deliveries_are_not_recalled:
              type: boolean
            readiness:
              type: object
              additionalProperties:
                $ref: '#/components/schemas/McpJsonValue'
            delivery_at:
              type: string
            recipient:
              type: string
            version_id:
              type: string
              format: uuid
            registered_devices:
              type: integer
            campaigns:
              type: integer
            dependent_campaigns:
              type: integer
            consequences:
              type: array
              items:
                type: string
            retry_step_key:
              type: string
            definition_version_id:
              type: string
              format: uuid
          required:
            - operation
            - project_id
            - resource_id
            - input
            - sends_messages
            - may_deliver_messages
            - deletes_resource
            - automation_effects
            - irreversible_deliveries_are_not_recalled
          additionalProperties: false
      required:
        - prepared_action_id
        - operation
        - expires_at
        - effects
      additionalProperties: false
      x-sendrealm-mcp-contract: true
    Error:
      type: object
      required:
        - status
        - error
      properties:
        status:
          type: integer
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
            message:
              type: string
            details:
              $ref: '#/components/schemas/JsonValue'
            issues:
              type: array
              items:
                $ref: '#/components/schemas/ValidationIssue'
    McpPhaseTwoCampaignSend:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
        automation_effects:
          type: string
          enum:
            - suppress
            - trigger
          description: >-
            Default suppress; trigger additionally requires automations.trigger
            and current automation-management capability.
      required:
        - id
      x-sendrealm-mcp-contract: true
    McpPhaseTwoChannelDelete:
      type: object
      additionalProperties: false
      properties:
        app_id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
        id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
      required:
        - app_id
        - id
      x-sendrealm-mcp-contract: true
    McpPhaseTwoChannelUpsert:
      type: object
      additionalProperties: false
      properties:
        app_id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
        channel_id:
          type: string
          minLength: 1
          maxLength: 160
        platform:
          type: string
          enum:
            - android
            - ios
            - web
        name:
          type: string
          minLength: 1
          maxLength: 160
        description:
          type: string
          maxLength: 1000
          description: Replaces the current value; omitted clears it.
        importance:
          type: string
          enum:
            - min
            - low
            - default
            - high
            - max
          description: Replaces the current value; omitted defaults to high.
        sound:
          type: string
          maxLength: 160
          description: Replaces the current value; omitted clears it.
        vibration:
          type: boolean
          description: Replaces the current value; omitted defaults to true.
        led_color:
          type: string
          maxLength: 40
          description: Replaces the current value; omitted clears it.
        lockscreen_visibility:
          type: string
          enum:
            - public
            - private
            - secret
          description: Replaces the current value; omitted defaults to public.
        is_default:
          type: boolean
          description: Replaces the current value; omitted defaults to false.
      required:
        - app_id
        - channel_id
        - platform
        - name
      x-sendrealm-mcp-contract: true
    McpPhaseTwoDomainsCloudflareDisconnect:
      type: object
      additionalProperties: false
      properties: {}
      x-sendrealm-mcp-contract: true
    McpPhaseTwoDomainsCreate:
      type: object
      additionalProperties: false
      properties:
        domain:
          type: string
          maxLength: 253
          minLength: 1
        region:
          type: string
          enum:
            - us-east-1
            - eu-west-1
            - sa-east-1
            - ap-southeast-1
      required:
        - domain
        - region
      x-sendrealm-mcp-contract: true
    McpPhaseTwoDomainsDelete:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
      required:
        - id
      x-sendrealm-mcp-contract: true
    McpPhaseTwoDomainsSettingsUpdate:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
        click_tracking:
          type: boolean
        open_tracking:
          type: boolean
        save_email_content:
          type: boolean
      required:
        - id
        - click_tracking
        - open_tracking
        - save_email_content
      x-sendrealm-mcp-contract: true
    McpPhaseTwoDomainsTransfer:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
        target_project_id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            Destination project UUID; this key must have domains.write and
            current domain-management access in both projects.
      required:
        - id
        - target_project_id
      x-sendrealm-mcp-contract: true
    McpPhaseTwoDomainsVerify:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
      required:
        - id
      x-sendrealm-mcp-contract: true
    McpPhaseTwoResource:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
      required:
        - id
      x-sendrealm-mcp-contract: true
    McpPhaseTwoRunAction:
      type: object
      properties:
        id:
          type: string
          format: uuid
        reason:
          type: string
          minLength: 1
          maxLength: 500
          pattern: \S
        automation_effects:
          type: string
          enum:
            - suppress
            - trigger
          description: >-
            Derived effects default to suppress. Explicit trigger requires
            automations.trigger and current automation management capability.
      required:
        - id
        - reason
      additionalProperties: false
      x-sendrealm-mcp-contract: true
    McpPhaseTwoSchedule:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
        delivery_at:
          type: string
          maxLength: 50
          format: date-time
          description: >-
            Future ISO-8601 timestamp. The existing spam review and delivery
            policy still apply.
        timezone:
          type: string
          maxLength: 80
          description: IANA timezone such as America/Sao_Paulo.
        automation_effects:
          type: string
          enum:
            - suppress
            - trigger
          description: >-
            Default suppress. Trigger may start/resume live automations from
            derived delivery events and requires automations.trigger plus
            current automation-management capability.
      required:
        - id
        - delivery_at
        - timezone
      x-sendrealm-mcp-contract: true
    McpPhaseTwoTemplateTestEmail:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
        domain_id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
        to_email:
          type: string
          maxLength: 320
          format: email
        from_email:
          type: string
          maxLength: 320
          format: email
        reply_to:
          type: string
          maxLength: 320
          format: email
        automation_effects:
          type: string
          enum:
            - suppress
            - trigger
          description: >-
            Default suppress. Trigger may start/resume live automations from
            derived delivery events and requires automations.trigger plus
            current automation-management capability.
      required:
        - id
        - domain_id
        - to_email
        - from_email
      x-sendrealm-mcp-contract: true
    McpPhaseTwoTemplateTestPush:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
        app_id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
        device_id:
          type: string
          maxLength: 36
          format: uuid
          description: >-
            UUID returned by the matching discovery tool in the selected
            project.
        channel_id:
          type: string
          maxLength: 160
        data:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/McpJsonValue'
        automation_effects:
          type: string
          enum:
            - suppress
            - trigger
          description: >-
            Default suppress. Trigger may start/resume live automations from
            derived delivery events and requires automations.trigger plus
            current automation-management capability.
      required:
        - id
        - app_id
        - device_id
      x-sendrealm-mcp-contract: true
    McpJsonValue:
      oneOf:
        - type: string
          nullable: true
        - type: number
        - type: boolean
        - type: array
          items:
            $ref: '#/components/schemas/McpJsonValue'
        - type: object
          additionalProperties:
            $ref: '#/components/schemas/McpJsonValue'
      description: >-
        JSON application data. Do not include credentials or unnecessary
        personal data.
      x-sendrealm-mcp-contract: true
    JsonValue:
      oneOf:
        - type: string
          nullable: true
        - type: number
        - type: boolean
        - type: object
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
        - type: array
          items:
            $ref: '#/components/schemas/JsonValue'
    ValidationIssue:
      type: object
      required:
        - code
        - path
        - message
      properties:
        code:
          type: string
        path:
          type: string
          nullable: true
        message:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Integration key for backend workloads, or a scoped personal key
        (sr_user_) for account discovery and supported project operations. MCP
        accepts only personal keys.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.