Fusion Backend Consumption
When to use
Use when needing to understand Fusion backend services, available APIs, integration patterns, or architectural decisions.
Typical triggers:
- "How do I call the People API?"
- "Show an example of how the authorization pattern works"
- "What's the contract for the Org service?"
- "How do services handle validation errors?"
- "What async/messaging patterns does Fusion use?"
- "Can I see a reference implementation of a CQRS handler?"
- "How do services integrate with external APIs?"
- "What authentication/authorization requirements do I need?"
- "Show how events flow through the system"
- "What's the pattern for cross-service calls?"
- "How should I structure my API client?"
- "Where should I call the Context API?"
- "What's the difference between a command and a query in Fusion?"
Implicit triggers:
- Building frontend/client app needing to understand backend contracts
- Integrating with Fusion APIs and need patterns
- Designing architecture needing backend best practices
- Learning from existing Fusion service implementations
When not to use
- Creating or modifying backend services — use service-specific repo skill
- Adding new endpoints or API operations — backend development
- Database schema changes or migrations — backend development
- Authorization requirement definitions — backend development (this skill shows what exists, not new requirements)
- Pure architecture discussions without code references — use
fusion-research or ADR-focused skills
- Selecting between Fusion Framework alternatives — use
fusion-research or fusion-app-react-dev
Required inputs
Mandatory
- What you're trying to do: clear description of integration point, use case, or pattern
- Your role/context: building a frontend app? Integrating externally? Designing architecture?
Conditional
- When comparing patterns: which two options you're deciding between
- When consuming an API: what operation/scenario (CRUD, async, real-time, etc.)
- When integrating: external system name and direction of flow (calling out vs being called)
Instructions
Step 1 — Clarify consumption context
Before searching for code, understand what you need:
- Integration point: Calling a backend API? Reading event messages? Implementing a webhook? Integrating with external system?
- Your boundaries: Frontend developer? Backend developer in another service? External integrator? Architect?
- Scope: Single API contract? Full pattern? Reference implementation? Architectural tradeoffs?
Use assets/follow-up-questions.md if user intent is unclear.
Step 2 — Search for reference implementation
Use mcp_fusion_search_backend_code to locate existing patterns:
- Call with high-level intent: "How People service exposes authorization" or "Cross-service API integration patterns"
- Start with
top: 3-5 results
- Capture
metadata.repository, metadata.service, metadata.filePath
- Extract minimal code snippets showing the pattern (method signature, type contract, authorization check)
- If results are unclear, refine once:
- Add specific service name or interface
- Narrow to specific layer (controller, handler, client interface)
- Try a different phrase focusing on outcome rather than implementation details
Step 3 — Explain the pattern
Use evidence from Step 2:
- State the pattern clearly: What does the service do? What contract does it expose?
- Show the reference code: Quote relevant snippet with file path and line range
- Explain the constraints: Preconditions? Authorization? Error handling? Async behavior?
- Relate to your use case: How to apply this pattern?
- Surface tradeoffs or alternatives if they exist
Step 4 — Verify completeness
Before ending, check:
If uncertainty remains, flag it explicitly.
Reference guides
See references/ for deeper pattern documentation:
api-contracts.md — Fusion service API contracts and versioning
authorization-patterns.md — Authentication, authorization requirements, role-based access
validation-patterns.md — Input validation, error responses, business rules
async-patterns.md — Events, service bus, domain notifications, eventual consistency
integration-patterns.md — Cross-service calls, external APIs, webhook handling
cqrs-reference.md — CQRS handlers, commands, queries, notifications structure
Assets
assets/follow-up-questions.md — Clarifying questions for ambiguous requests
references/integration-patterns.md — Common integration scenarios and which patterns apply
Safety & constraints
Never:
- Describe real backend API behavior as fact unless verifiable in retrieved source code or cited repo docs
- Claim a pattern exists when search returns no evidence
- Present illustrative pseudo-code as retrieved source code
- Suggest modifying a backend service — that's out of scope
Always:
- Label illustrative examples as examples/pseudo-code when explanatory rather than retrieved
- Capture and cite repository, file path, and line references for real code
- State which repository the pattern comes from
- Note when a pattern exists in one service but not others
- Offer to escalate to the
fusion-services-developer agent if user wants to implement changes
- For setting up or deploying a new standalone backend API (app registration, Roles V2, database, Radix/Kubernetes deployment, observability), point to the New Backend Service Checklist on fusion-docs rather than improvising the sequence
1---2name: fusion-backend-dev3description: Guides consumption and understanding of Fusion backend services, APIs, and patterns for frontend/client developers, integrators, and architects. Shows reference implementations, explains architectural decisions, and clarifies contracts. USE FOR: understanding Fusion backend APIs, learning implementation patterns, exploring reference code, choosing the right integration point, and understanding authorization/validation/async patterns. DO NOT USE FOR: modifying backend services, creating new endpoints, database changes, or backend-specific development (use the fusion-services-developer agent or the target backend service repo instead).4license: MIT5---67# Fusion Backend Consumption89## When to use1011Use when needing to understand Fusion backend services, available APIs, integration patterns, or architectural decisions.1213Typical triggers:14- "How do I call the People API?"15- "Show an example of how the authorization pattern works"16- "What's the contract for the Org service?"17- "How do services handle validation errors?"18- "What async/messaging patterns does Fusion use?"19- "Can I see a reference implementation of a CQRS handler?"20- "How do services integrate with external APIs?"21- "What authentication/authorization requirements do I need?"22- "Show how events flow through the system"23- "What's the pattern for cross-service calls?"24- "How should I structure my API client?"25- "Where should I call the Context API?"26- "What's the difference between a command and a query in Fusion?"2728Implicit triggers:29- Building frontend/client app needing to understand backend contracts30- Integrating with Fusion APIs and need patterns31- Designing architecture needing backend best practices32- Learning from existing Fusion service implementations3334## When not to use3536- **Creating or modifying backend services** — use service-specific repo skill37- **Adding new endpoints or API operations** — backend development38- **Database schema changes or migrations** — backend development39- **Authorization requirement definitions** — backend development (this skill shows what exists, not new requirements)40- **Pure architecture discussions without code references** — use `fusion-research` or ADR-focused skills41- **Selecting between Fusion Framework alternatives** — use `fusion-research` or `fusion-app-react-dev`4243## Required inputs4445### Mandatory4647- **What you're trying to do**: clear description of integration point, use case, or pattern48- **Your role/context**: building a frontend app? Integrating externally? Designing architecture?4950### Conditional5152- When comparing patterns: which two options you're deciding between53- When consuming an API: what operation/scenario (CRUD, async, real-time, etc.)54- When integrating: external system name and direction of flow (calling out vs being called)5556## Instructions5758### Step 1 — Clarify consumption context5960Before searching for code, understand what you need:61621. **Integration point**: Calling a backend API? Reading event messages? Implementing a webhook? Integrating with external system?632. **Your boundaries**: Frontend developer? Backend developer in another service? External integrator? Architect?643. **Scope**: Single API contract? Full pattern? Reference implementation? Architectural tradeoffs?6566Use `assets/follow-up-questions.md` if user intent is unclear.6768### Step 2 — Search for reference implementation6970Use `mcp_fusion_search_backend_code` to locate existing patterns:71721. Call with high-level intent: "How People service exposes authorization" or "Cross-service API integration patterns"732. Start with `top: 3-5` results743. Capture `metadata.repository`, `metadata.service`, `metadata.filePath`754. Extract minimal code snippets showing the pattern (method signature, type contract, authorization check)765. If results are unclear, refine once:77 - Add specific service name or interface78 - Narrow to specific layer (controller, handler, client interface)79 - Try a different phrase focusing on outcome rather than implementation details8081### Step 3 — Explain the pattern8283Use evidence from Step 2:84851. **State the pattern clearly**: What does the service do? What contract does it expose?862. **Show the reference code**: Quote relevant snippet with file path and line range873. **Explain the constraints**: Preconditions? Authorization? Error handling? Async behavior?884. **Relate to your use case**: How to apply this pattern?895. **Surface tradeoffs or alternatives** if they exist9091### Step 4 — Verify completeness9293Before ending, check:9495- [ ] User understands the contract (inputs, outputs, errors)96- [ ] User sees a real code reference (not invented)97- [ ] User knows where the code lives (repository, service, file path)98- [ ] User knows prerequisites (authentication, configuration, dependencies)99- [ ] User has enough context to implement or integrate100101If uncertainty remains, flag it explicitly.102103## Reference guides104105See `references/` for deeper pattern documentation:106107- `api-contracts.md` — Fusion service API contracts and versioning108- `authorization-patterns.md` — Authentication, authorization requirements, role-based access109- `validation-patterns.md` — Input validation, error responses, business rules110- `async-patterns.md` — Events, service bus, domain notifications, eventual consistency111- `integration-patterns.md` — Cross-service calls, external APIs, webhook handling112- `cqrs-reference.md` — CQRS handlers, commands, queries, notifications structure113114## Assets115116- `assets/follow-up-questions.md` — Clarifying questions for ambiguous requests117- `references/integration-patterns.md` — Common integration scenarios and which patterns apply118119## Safety & constraints120121Never:122- Describe real backend API behavior as fact unless verifiable in retrieved source code or cited repo docs123- Claim a pattern exists when search returns no evidence124- Present illustrative pseudo-code as retrieved source code125- Suggest modifying a backend service — that's out of scope126127Always:128- Label illustrative examples as examples/pseudo-code when explanatory rather than retrieved129- Capture and cite repository, file path, and line references for real code130- State which repository the pattern comes from131- Note when a pattern exists in one service but not others132- Offer to escalate to the `fusion-services-developer` agent if user wants to implement changes133- For setting up or deploying a new standalone backend API (app registration, Roles V2, database, Radix/Kubernetes deployment, observability), point to the [New Backend Service Checklist](https://docs.fusion.equinor.com/docs/developer/api/new-service-checklist) on fusion-docs rather than improvising the sequence