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

# Install Blueprint Presets

> Copy one or more presets into the application as editable blueprints. Idempotent per preset_key; omit preset_keys to install every preset not yet installed.

export const AgentPromptAccordion = ({prompt, title = "AI Agent Integration Prompt"}) => {
  const [copied, setCopied] = React.useState(false);
  const handleCopy = e => {
    e.stopPropagation();
    if (!prompt) return;
    navigator.clipboard.writeText(prompt.trim()).then(() => {
      setCopied(true);
      setTimeout(() => setCopied(false), 2000);
    });
  };
  const agents = ["Claude Code", "Codex", "Cursor", "Devin", "Windsurf", "GitHub Copilot"];
  return <div className="didit-agent-card">
      {}
      <div className="didit-agent-titlebar">
        <div className="didit-agent-dots" aria-hidden="true">
          <span className="didit-agent-dot didit-agent-dot-red"></span>
          <span className="didit-agent-dot didit-agent-dot-yellow"></span>
          <span className="didit-agent-dot didit-agent-dot-green"></span>
        </div>
        <span className="didit-agent-filename">{title}</span>
        <button type="button" className={`didit-agent-copy ${copied ? "didit-agent-copy-copied" : ""}`} onClick={handleCopy} title="Copy prompt to clipboard" aria-label={copied ? "Copied!" : "Copy prompt to clipboard"}>
          {copied ? <>
              <svg width="13" height="13" viewBox="0 0 16 16" fill="none">
                <path d="M3 8.5l3.5 3.5L13 4" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
              </svg>
              <span>Copied</span>
            </> : <>
              <svg width="13" height="13" viewBox="0 0 16 16" fill="none">
                <rect x="5" y="5" width="9" height="9" rx="1.5" stroke="currentColor" strokeWidth="1.5" />
                <path d="M11 5V3.5A1.5 1.5 0 0 0 9.5 2h-6A1.5 1.5 0 0 0 2 3.5v6A1.5 1.5 0 0 0 3.5 11H5" stroke="currentColor" strokeWidth="1.5" />
              </svg>
              <span>Copy</span>
            </>}
        </button>
      </div>

      {}
      <pre className="didit-agent-body"><code>{prompt.trim()}</code></pre>

      {}
      <div className="didit-agent-footer">
        <span className="didit-agent-footer-label">Paste into</span>
        <div className="didit-agent-chips">
          {agents.map(name => <span key={name} className="didit-agent-chip">{name}</span>)}
        </div>
      </div>
    </div>;
};

<AgentPromptAccordion
  title="Install Blueprint Presets API Prompt"
  prompt={`Install built-in blueprint presets through the Management API.

Endpoint:
POST https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/presets/install/

Authentication:
Use the x-api-key header with my Didit API key.

Request body:
{"preset_keys": ["aml_investigation", "kyc"]}   // optional - omit to install every preset not yet installed

Valid preset_keys: screening_hit, aml_investigation, suspicious_activity, kyc.

Behavior:
- Idempotent per preset_key - re-installing an already-installed preset is skipped, not duplicated.
- Installed presets become fully independent, editable CaseBlueprint rows; further edits do not affect the catalogue or other applications.
- None of the presets set assignment_method, assignee_pool, escalation, transfer, or 4-eyes - those routing decisions are always yours to configure after installing.

Example call:
curl -X POST "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/presets/install/" \\
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \\
-d '{"preset_keys": ["aml_investigation", "kyc"]}'

Response 201 (or 200 if nothing new was installed): {"created": ["aml_investigation", "kyc"]}

Failure modes:
- 401/403 - auth/permission errors (requires write:cases).

For the full integration shape, see /integration/integration-prompt.`}
/>

Copy one or more built-in presets into the application as editable blueprints. Call `GET .../cases/blueprints/presets/` first to see the full catalogue and which presets are already installed.

## Related

* [Create case blueprint](/management-api/case-blueprints/create)
* [Blueprints (Console)](/console/case-management/blueprints)


## OpenAPI

````yaml POST /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/presets/install/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: Identity verification API. Authenticate with x-api-key header.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/presets/install/:
    post:
      tags:
        - Case Blueprints
      summary: Install blueprint presets
      description: >-
        Copy one or more presets into the application as editable blueprints.
        Idempotent per preset_key; omit preset_keys to install every preset not
        yet installed.
      operationId: install_case_blueprint_presets
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Organization UUID.
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Application UUID.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                preset_keys:
                  type: array
                  items:
                    type: string
                  nullable: true
                  description: >-
                    Subset of screening_hit, aml_investigation,
                    suspicious_activity, kyc. Omit to install all.
      responses:
        '200':
          description: No new presets to install (all requested presets already exist).
          content:
            application/json:
              schema:
                type: object
                properties:
                  created:
                    type: array
                    items:
                      type: string
        '201':
          description: One or more presets installed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  created:
                    type: array
                    items:
                      type: string
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/cases/blueprints/presets/install/'
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"preset_keys": ["aml_investigation", "kyc"]}'

````