---
title: "AP2 Prompt Template Generator"
method: POST
path: "/v1/tools/compose_ap2_prompt"
tags: ["AP2", "prompt engineering", "template", "agentic", "OpenChainGraph", "regulatory"]
---

# AP2 Prompt Template Generator

`POST /v1/tools/compose_ap2_prompt`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/compose_ap2_prompt`
- Auth: none declared

Transforms any OpenChainGraph artifact JSON into a structured, regulator-framed prompt for any external LLM. Template registry v1.0.0 — one entry per mandate_type with regulatory citations, audience formats, stochastic-framing rules, and escalation conditions. No inference performed; pure template composition.

**Tool URL:** https://ainumbers.co/chaingraph/ptg-01-ap2-prompt-template-generator.html
**AP2/Policy Mandate export:** yes

## Request body

- object
  - `artifact_json` string: OpenChainGraph artifact JSON from any suite tool
  - `task` 'board_memo' | 'regulatory_submission' | 'risk_memo' | 'remediation_plan' | 'plain_english_summary' | 'period_comparison' | 'top_3_risks', required: Output task type
  - `audience` 'board' | 'risk_committee' | 'regulator' | 'quant' | 'ops', required: Target audience for the generated prompt
  - `tone` 'formal' | 'technical' | 'plain'
  - `include_citations` boolean

## Response `200`

Successful tool execution result

- object
  - `audience` string, required
  - `claude_deeplink` string, required
  - `generated_prompt` string, required
  - `generated_prompt_length` number, required
  - `include_citations` boolean, required
  - `mandate_type_matched` string, required
  - `source_execution_hash` string, required
  - `source_tool_id` string, required
  - `task` string, required
  - `tone` string, required

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
