Task library BAPIBULK API design · Phased project Asynchronous bulk API contract A fictional catalog API needs to accept imports too large for one synchronous request. Partners need to distinguish accepted work, completed items, and recoverable failures.
Practice brief · Version 5
Project scope 10 tickets / 3 phases
Total focused work estimate 26h 30m + setup
Suggested stack TypeScript · OpenAPI · PostgreSQL Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.
Choose a bounded subset for an assessment or practice session. Prerequisites and remaining project work must be agreed separately.
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Pattern topics identify design choices to practice. Read the ticket's acceptance criteria and justify the simplest suitable approach. Tags are not capability or ownership evidence; an untagged ticket has no curated pattern topic assigned.
Recommended next step Start with BAPIBULK-101 Open the first ticket for its prerequisites, acceptance criteria, verification plan, and an editable task draft.
What the engineer takes away Practice asynchronous resource contracts, partial outcomes, and idempotent operations.
What the team gains Provide predictable bulk integration behavior without ambiguous success or repeated effects.
Before you start Create a local API and worker double with synthetic catalog records and controlled interruption points. Delivery agreement Deliver local bulk endpoints, operation transitions, and public client examples.
AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.
Delivery phases PHASE 1 Specify admission, identities, and lifecycle semantics.
PHASE 2 Handle item outcomes, cancellation, and recovery.
PHASE 3 Expose safe progress and lifecycle guidance.
Define operation resources Specify admission, identities, and lifecycle semantics.
BAPIBULK-101 Entry ticket; project setup still required BAPIBULK-102 Depends on BAPIBULK-101 Estimated field mix
API design 40% Security 30% Performance engineering 30% BAPIBULK-103 Depends on BAPIBULK-102 Estimated field mix
API design 40% Database engineering 30% Backend 30% Process bounded work Handle item outcomes, cancellation, and recovery.
BAPIBULK-104 Depends on BAPIBULK-103 BAPIBULK-105 Depends on BAPIBULK-104 Estimated field mix
Data engineering 40% Database engineering 30% Distributed systems 30% BAPIBULK-106 Depends on BAPIBULK-105 Estimated field mix
API design 60% Distributed systems 40% BAPIBULK-107 Depends on BAPIBULK-104, BAPIBULK-105 Estimated field mix
API design 50% Database engineering 30% Security 20% Support clients Expose safe progress and lifecycle guidance.
BAPIBULK-108 Depends on BAPIBULK-106, BAPIBULK-107 Estimated field mix
API design 70% Data engineering 30% BAPIBULK-109 Depends on BAPIBULK-104, BAPIBULK-106, BAPIBULK-108 Estimated field mix
System design 40% API design 40% Database engineering 20% BAPIBULK-110 Depends on BAPIBULK-109 Estimated field mix
Developer tooling 50% API design 50% Use this project CSV keeps grouping and dependency keys as descriptive fields. Import mapping depends on your tracker configuration.