This prompt is designed for product managers and API governance teams who need to produce a structured, defensible Service Level Agreement (SLA) matrix for their API's error responses. The core job-to-be-done is translating a catalog of technical error codes into business-level commitments: defining target response times, severity classifications, and escalation policies for each error condition. The ideal user is someone who owns the API's reliability posture and must communicate these commitments clearly to both engineering teams (who build the response mechanisms) and customers (who rely on the SLA for their own operational planning).
Prompt
Error Code SLA Mapping Prompt

When to Use This Prompt
Defines the job, ideal user, required inputs, and constraints for mapping error codes to SLA commitments.
Use this prompt when you have a defined set of error codes—from an OpenAPI specification, an internal error catalog, or a monitoring system—and need to assign measurable SLA parameters to them. The prompt requires a structured [ERROR_CATALOG] input containing error codes, their HTTP status codes, and descriptions. It also requires an [SLA_TIER_DEFINITIONS] context that defines your organization's standard response time bands (e.g., 'Critical: 15 min response, 1 hr resolution'). The prompt is designed to reason about error criticality based on status code families, the operation's business impact, and whether the error blocks a core customer workflow. It will flag errors that lack appropriate urgency and identify SLA definitions that are vague or unmeasurable.
Do not use this prompt for generating the error codes themselves—that is the job of the 'Error Code Catalog Generation Prompt' in this same content group. This prompt assumes a stable error taxonomy already exists. It is also not a substitute for legal review of your SLA terms; the output is a product and engineering artifact that should be validated by your legal and compliance teams before publication. Avoid using this prompt for purely internal operational runbooks; for that, use the 'Error Code to Runbook Mapping Prompt', which focuses on diagnostic steps rather than customer-facing commitments. The next step after generating the SLA matrix is to validate it against your team's actual incident response capacity and to wire the severity classifications into your alerting and escalation tooling.
Use Case Fit
Where the Error Code SLA Mapping Prompt works and where it introduces operational risk. Use these cards to decide whether this prompt fits your workflow before wiring it into a product.
Good Fit: Structured SLA Definition
Use when: You have a defined error taxonomy and need to map each error code to measurable SLA tiers, response time targets, and escalation paths. Guardrail: Provide the prompt with a complete error catalog and concrete SLO definitions; it cannot invent realistic targets from thin air.
Bad Fit: Undefined or Ad-Hoc Error Codes
Avoid when: Your error codes are inconsistent, undocumented, or generated dynamically without a stable taxonomy. Guardrail: Run the Error Code Taxonomy Builder Prompt first to standardize codes before attempting SLA mapping; garbage taxonomy produces garbage SLAs.
Required Inputs
What you must provide: A complete error code catalog with HTTP status codes, error bodies, and known causes; existing SLO targets or business requirements; escalation policy definitions; and any regulatory response-time mandates. Guardrail: Missing inputs cause the model to hallucinate plausible but unverified SLA tiers.
Operational Risk: Unmeasurable Commitments
What to watch: The prompt may produce SLA definitions that sound reasonable but cannot be measured with your existing observability stack. Guardrail: Validate every output SLA tier against your actual monitoring capabilities; reject any target you cannot track, alert on, and report against.
Critical-Path Validation Required
What to watch: The prompt may assign insufficient urgency to errors that block revenue, auth, or data integrity. Guardrail: Manually review every error code on the critical path and ensure SLA tiers match business impact, not just technical severity. Escalate mismatches to product and SRE leads.
Regulatory and Compliance Overlay
What to watch: SLA tiers for regulated domains must reflect legal requirements, not just engineering preferences. Guardrail: Layer regulatory response-time mandates on top of the prompt's output; the model does not know your jurisdiction's specific requirements and will not flag gaps.
Copy-Ready Prompt Template
A reusable prompt that maps error codes to SLA tiers, response time targets, and escalation policies.
This prompt template is designed for product managers and platform engineers who need to produce a structured SLA matrix from error code definitions and business requirements. It takes a list of error codes, their technical descriptions, and organizational SLA policies as input, then outputs a complete mapping with measurable commitments. Use this template when you have a defined error taxonomy and need to formalize operational response expectations. Do not use it to invent error codes or SLA policies from scratch—the prompt assumes those inputs already exist.
textYou are an SLA architect for API products. Your task is to map a set of error codes to SLA tiers, response time targets, and escalation policies. ## INPUT [ERROR_CODE_CATALOG] ## SLA POLICIES [SLA_TIER_DEFINITIONS] ## OUTPUT SCHEMA Return a JSON object with the following structure: { "sla_matrix": [ { "error_code": "string", "http_status": "integer", "sla_tier": "string (must match a tier defined in SLA_TIER_DEFINITIONS)", "response_time_target": "string (ISO 8601 duration or human-readable with unit)", "escalation_policy": { "first_responder": "string (team or role)", "escalation_trigger": "string (condition that triggers escalation)", "escalation_target": "string (team or role)", "max_time_to_escalate": "string" }, "communication_channel": "string", "requires_status_page_update": "boolean", "notes": "string (justification for tier assignment or edge case handling)" } ], "unmapped_errors": ["string (error codes from the catalog that could not be mapped)"], "coverage_gaps": ["string (SLA tiers with no mapped errors)"], "validation_warnings": ["string (inconsistencies or risks identified during mapping)"] } ## CONSTRAINTS [CONSTRAINTS] ## EXAMPLES [EXAMPLES] ## INSTRUCTIONS 1. Map every error code in the catalog to exactly one SLA tier. 2. If an error code does not fit any defined tier, place it in `unmapped_errors` with a note explaining why. 3. Flag any SLA tier that has no mapped errors in `coverage_gaps`. 4. Ensure response time targets are measurable and include the unit. 5. For critical-path errors (5xx, authentication failures, rate limit exhaustion), verify that the assigned tier has appropriate urgency. If not, add a `validation_warning`. 6. Escalation policies must specify a trigger condition, not just a time threshold. 7. If [RISK_LEVEL] is "high", require human review of the final matrix before publication. 8. Do not invent error codes or SLA tiers not present in the input.
To adapt this template, replace each square-bracket placeholder with concrete content. [ERROR_CODE_CATALOG] should contain your full error code list with HTTP status codes and descriptions. [SLA_TIER_DEFINITIONS] should define each tier's name, response time baseline, and escalation rules. [CONSTRAINTS] can specify regulatory requirements, business hours vs. 24/7 coverage, or maximum acceptable downtime. [EXAMPLES] should include at least two correctly mapped error codes to anchor the model's output format. [RISK_LEVEL] controls whether the prompt requires a human review gate—set it to "high" for customer-facing or revenue-critical APIs. After generating the matrix, validate that every critical-path error has a response time target below your business's maximum tolerable downtime, and run a completeness check to ensure no error code is left unmapped without explicit justification.
Prompt Variables
Required inputs for the Error Code SLA Mapping Prompt. Each placeholder must be populated before the prompt is assembled and sent. Validation notes describe how to check the input quality before execution.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[ERROR_CODE_CATALOG] | Complete list of error codes to map to SLA tiers | ERR_DB_TIMEOUT, ERR_AUTH_EXPIRED, ERR_RATE_LIMITED, ERR_INVALID_PAYLOAD | Schema check: array of strings. Must not be empty. Each code must match pattern [A-Z_]+. Cross-reference against API spec to ensure completeness. |
[ERROR_SEVERITY_MAP] | Severity classification for each error code | {"ERR_DB_TIMEOUT": "critical", "ERR_AUTH_EXPIRED": "high", "ERR_RATE_LIMITED": "medium"} | Schema check: JSON object with error codes as keys and severity enum values (critical, high, medium, low). Every code in [ERROR_CODE_CATALOG] must have an entry. No unmapped codes allowed. |
[SLA_TIER_DEFINITIONS] | Named SLA tiers with response time targets and escalation rules | {"tier_1": {"response_minutes": 5, "escalation": "oncall_primary"}, "tier_2": {"response_minutes": 30, "escalation": "team_lead"}} | Schema check: JSON object. Each tier must define response_minutes as positive integer and escalation as non-empty string. At least one tier required. Validate tier names are unique. |
[BUSINESS_HOURS_POLICY] | Definition of business hours for SLA clock calculations | {"timezone": "America/New_York", "hours": "09:00-17:00", "days": ["Monday","Tuesday","Wednesday","Thursday","Friday"]} | Schema check: JSON object with timezone (valid IANA timezone string), hours (HH:MM-HH:MM format), and days (array of day names). Null allowed if 24/7 coverage. Validate timezone is recognized. |
[EXISTING_ESCALATION_PATHS] | Current escalation contacts and rotation schedules | {"oncall_primary": {"contact": "pagerduty_team_a", "rotation": "weekly"}, "team_lead": {"contact": "slack_channel_ops", "rotation": null}} | Schema check: JSON object. Each path must have contact (non-empty string) and rotation (string or null). Every escalation referenced in [SLA_TIER_DEFINITIONS] must have a matching entry here. |
[REGULATORY_REQUIREMENTS] | Compliance obligations that constrain SLA definitions | ["SOC2_availability_99.9", "HIPAA_breach_notification_60days"] | Schema check: array of strings or null. If non-null, each entry must reference a known regulation. Used to flag SLA tiers that may violate regulatory minimums. Null allowed if no regulatory constraints. |
[MEASUREMENT_WINDOW] | Rolling window for SLA compliance calculation | {"period": "30d", "granularity": "5m", "excluded_codes": ["ERR_MAINTENANCE_WINDOW"]} | Schema check: JSON object. period must be valid duration string (e.g., 7d, 30d, 90d). granularity must be valid. excluded_codes is array of error codes or empty array. Validate excluded codes exist in catalog. |
Implementation Harness Notes
How to wire the Error Code SLA Mapping Prompt into an application or operational workflow.
This prompt is designed to be integrated into a product management or API governance workflow, not as a one-off chat interaction. The primary integration point is a documentation pipeline or an internal tool that ingests an existing error code catalog and a set of SLA tier definitions. The application layer should first fetch the complete error code inventory from a source of truth, such as an OpenAPI specification, a database of record, or a static JSON file, and format it as the [ERROR_CATALOG] input. Simultaneously, it must retrieve the organization's standard SLA tier definitions, including response time targets, severity levels, and escalation policies, to populate the [SLA_TIERS] and [ESCALATION_POLICIES] inputs. The prompt should only be invoked when both inputs are complete and validated, as missing data will produce an incomplete or misleading SLA matrix.
The implementation must include a pre-processing validation step to ensure every error code in the catalog has a defined severity and that every SLA tier referenced has a measurable target. After the model returns the structured SLA matrix, a post-processing validation layer should parse the JSON output and run a series of checks: confirm that all critical-path errors (typically 5xx and key 4xx codes) are mapped to the highest-urgency tiers, verify that no SLA definition contains unmeasurable commitments like 'as soon as possible,' and ensure that every escalation policy referenced actually exists in the input. If validation fails, the system should log the specific failure, append the validation errors to the prompt context, and retry once. For high-stakes deployments, the final matrix should be routed to a human review queue in a tool like Jira or a custom internal dashboard before being published to an SLA page or an API contract.
Model choice matters here: use a model with strong JSON mode and schema-following capabilities, such as GPT-4o, Claude 3.5 Sonnet, or an equivalent. Set the response_format to json_schema and provide the exact output schema from the prompt template to guarantee structural validity. Log every invocation, including the input hashes, the model version, the raw and validated outputs, and the reviewer's decision, to create an audit trail for governance reviews. Avoid wiring this prompt directly into a customer-facing SLA page without the validation and human review gates; a hallucinated SLA commitment can create contractual risk. The next step after a successful run is to diff the new matrix against the previous version to generate a changelog of SLA changes, which can be fed into a downstream Error Code Changelog Generation Prompt for consumer communication.
Expected Output Contract
Fields, types, and validation rules for the SLA mapping output. Use this contract to validate the model response before it enters a downstream policy engine or dashboard.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
error_code | string | Must match a known error code from the input catalog. Regex: ^[A-Z_]+$ | |
sla_tier | enum: critical | high | medium | low | Must be one of the four defined tiers. No custom tiers allowed. | |
response_time_target | ISO 8601 duration string | Must be a valid duration (e.g., PT15M). Critical tier must be <= PT15M. | |
resolution_time_target | ISO 8601 duration string | Must be a valid duration. Resolution target must be >= response_time_target. | |
escalation_policy | string or null | If provided, must reference a valid policy ID from [ESCALATION_POLICIES]. Null allowed for low tier. | |
sla_justification | string | Must cite at least one factor from [SLA_CRITERIA] (e.g., revenue impact, data loss risk). Minimum 20 characters. | |
measurable_metric | string | Must specify the exact metric used to track compliance (e.g., p95_response_time_ms). Metric must exist in [MONITORING_SYSTEM]. | |
review_required | boolean | Must be true for critical tier or any error code in [REGULATED_ERRORS]. False otherwise. |
Common Failure Modes
When mapping error codes to SLA tiers, these failures surface first. Each card identifies a specific breakage pattern and the guardrail that prevents it in production.
Undefined Critical-Path Errors
What to watch: The prompt maps common HTTP status codes but misses critical business-logic errors (e.g., payment gateway timeouts, auth token revocation) that have no SLA tier assigned. These errors fall through the matrix and receive no response-time commitment. Guardrail: Pre-load the prompt with a complete error catalog extracted from the API spec and require the model to flag any input error code that does not appear in the output matrix.
Unmeasurable SLA Definitions
What to watch: The model produces SLA targets like "respond quickly" or "resolve within a reasonable time" instead of concrete, measurable thresholds (e.g., "P1: initial response ≤ 15 min, 99.9% monthly compliance"). Vague SLAs cannot be monitored, alerted on, or enforced. Guardrail: Add a strict output schema that requires numeric targets, measurement windows, and compliance percentages for every tier. Validate that every SLA field is parseable by a monitoring system.
Escalation Path Gaps
What to watch: The SLA matrix assigns urgency tiers but omits who owns each tier, what the escalation chain is, and when to page vs. when to ticket. This produces a matrix that looks complete but fails during an incident because no one knows who is responsible. Guardrail: Require the output to include an escalation_policy field per tier with owner team, contact method, and auto-escalation timeout. Validate that every tier has a non-null owner.
SLA Conflict Across Error Families
What to watch: The model assigns different SLA tiers to errors that share the same underlying infrastructure dependency (e.g., a database outage producing both 500 and 503 errors with different SLAs). This creates conflicting response commitments for the same root cause. Guardrail: Add a post-generation consistency check that groups errors by shared dependency and flags SLA mismatches. Require human review when the same dependency maps to multiple urgency tiers.
Missing Retry and Rate Limit Integration
What to watch: The SLA matrix defines response-time targets but ignores whether the error is retryable, what backoff the client should use, and how rate limits interact with SLA measurement. This leaves API consumers without the information they need to meet their side of the SLA contract. Guardrail: Extend the output schema to include retry_strategy and rate_limit_impact fields per error code. Validate that transient errors have retry guidance and that rate-limited errors exclude client-induced delays from SLA measurement.
Stale SLA Definitions After API Changes
What to watch: The prompt generates a correct SLA matrix at a point in time, but new API endpoints, deprecated error codes, or changed internal dependencies make the matrix stale within weeks. Teams continue operating against outdated commitments. Guardrail: Embed a generated_from field in the output that records the source API spec version, error catalog version, and generation timestamp. Build a CI check that re-runs the prompt when the API spec changes and flags SLA drift.
Evaluation Rubric
Use this rubric to test the quality of the SLA mapping output before integrating it into product documentation, runbooks, or customer-facing commitments. Each criterion targets a specific failure mode common to structured SLA generation.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
SLA Tier Coverage | Every error code in [ERROR_CATALOG] maps to exactly one SLA tier in the output matrix | Orphaned error codes with no tier assignment or codes mapped to multiple conflicting tiers | Parse output JSON, extract all mapped error codes, and diff against the input [ERROR_CATALOG] list |
Response Time Measurability | Every SLA tier definition includes a numeric response time target with a unit (e.g., '15 minutes', '4 hours') and a measurement start trigger | Vague targets like 'ASAP', 'promptly', or missing time units; no definition of when the clock starts | Regex scan for numeric value + time unit pattern; check for [MEASUREMENT_START] field presence per tier |
Escalation Path Completeness | Each SLA tier specifies an escalation contact or team and a trigger condition for when escalation activates | Missing escalation field, circular escalation to the same team, or escalation triggers that reference undefined conditions | Schema validation: assert [ESCALATION_CONTACT] and [ESCALATION_TRIGGER] are non-null strings for every tier |
Critical Path Urgency Alignment | Error codes on the critical path (e.g., payment, auth, data loss) are assigned to the highest SLA tier with the shortest response time | A critical-path error code assigned to a low-urgency tier; non-critical errors assigned to the top tier without justification | Cross-reference [CRITICAL_PATH_ERRORS] input list against the output tier assignments; flag mismatches for human review |
SLA Definition Consistency | No two SLA tiers have overlapping or contradictory response time ranges; tier boundaries are mutually exclusive | Tier A covers '0-60 minutes' and Tier B covers '30-120 minutes'; ambiguous routing for errors in the overlap zone | Parse all response time ranges, sort by lower bound, and assert each tier's upper bound is strictly less than the next tier's lower bound |
Customer-Facing Language Safety | SLA descriptions use commitment language appropriate for external publication: no internal codenames, no absolute guarantees unless contractually backed | Phrases like 'we promise 100% uptime', internal project names, or legally unqualified guarantees | Keyword flag list scan for [BANNED_TERMS]; manual spot-check of top-tier SLA descriptions for legal review readiness |
Output Schema Validity | The entire output parses as valid JSON matching the [OUTPUT_SCHEMA] without extra or missing required fields | JSON parse errors, missing required fields like [TIER_NAME] or [RESPONSE_TARGET], or unexpected additional top-level keys | Automated JSON Schema validation against the provided [OUTPUT_SCHEMA]; fail on any validation errors |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Start with the base prompt and a single error family (e.g., 5xx server errors). Remove SLA tier columns that aren't defined yet. Use a simple markdown table as the output format instead of a strict JSON schema. Replace [SLA_TIERS] with a hardcoded list of 2-3 tiers (Critical, High, Normal).
Watch for
- The model inventing SLA targets that don't exist in your actual commitments
- Inconsistent severity assignments when the same error code appears in multiple contexts
- Missing retry guidance for 429 and 503 errors, which are the most common SLA boundary cases

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us