🗺 Claude Apps
Applications and Integration is a third of CCDV-F — about 18 of 53 items, more than the next two domains combined. A candidate who splits study time evenly across the eight domains has already lost this exam. Spend roughly a third of your preparation here, and spend it building rather than reading: one small service that calls the Messages API, streams a response, retries a failure and submits a batch will teach more than any amount of documentation skimming.
What this domain tests is implementation detail, not architecture taste. Can you name the exact shape of a request and of a response? Do you know that the system prompt is a top-level parameter and not a message role, that max_tokens is required, that a truncated answer announces itself only through stop_reason? Can you tell a 429 from a 529 and say what each should make your code do?
The idea that unlocks the domain: treat Claude as an unreliable, rate-limited, streaming network dependency like any other, then design the boundary — timeouts, retries with backoff, idempotency, config per environment, async jobs for slow work. Nearly every item here follows from that.
POST /v1/messages with x-api-key, anthropic-version and a JSON content type. The body must carry model, messages and max_tokens — all three are required, and omitting the cap is an error, not an unlimited generation.user and assistant. Conversations open with a user turn and alternate. Standing instructions, persona and rules belong in the top-level system parameter — a hand-rolled system message is just ordinary conversation text.content is either a plain string or a list of typed blocks (text, image, document, tool_use, tool_result). Switch to blocks the moment a turn carries more than text.messages with an assistant turn: Claude continues that text. It is the cheapest way to force a shape, such as opening a JSON object or a required first word.id, role, a content block array, model, stop_reason and usage with input and output token counts. Never assume the first block is text — iterate and switch on block type.stop_reason is your control flow. end_turn means done, max_tokens means truncated, stop_sequence means one of your stop strings fired, tool_use means run the tool and send results back in the next user turn.message_start, then content_block_start, content_block_delta and content_block_stop per block, then message_delta carrying the final stop_reason and output usage, then message_stop.custom_id, and processes them asynchronously within 24 hours at roughly half the token cost.type names the class: invalid_request_error, authentication_error, permission_error, not_found_error, rate_limit_error, api_error, overloaded_error. Branch on the class, not on a substring of the message.anthropic-ratelimit-* response headers to see which budget is actually empty.stop_reason of max_tokens and treat the payload as incomplete — half a JSON object fails downstream, or worse, parses into something wrong.error event or a dropped socket can arrive after you have already shown tokens. Mark the message incomplete and re-request rather than presenting a truncated answer as final; if you proxy a stream to a browser, cancel upstream when the client disconnects.custom_id and never rely on input order.SCRIPT — the order in which you build and harden a Claude integration.
S — Scope. Write the success criteria and the eval set first. Quality, latency and cost targets decide the model tier and the architecture, not the other way round.C — Contract. Fix the request and response shape: system prompt, message turns, max_tokens, expected output format, and what your code does for each stop_reason.R — Route. Choose the delivery mode. Synchronous for short calls, streaming when a human is waiting, batch when nobody is, a queued job when the work outlives an HTTP request.I — Idempotency. Decide the replay story before you write a retry. A stable key recorded before the call is what makes a timeout safe to repeat.P — Protect. Keys from environment config, one per environment, never in a client. Pin the exact model ID and version prompts with the code.T — Tolerate. Classify errors, retry only timeouts, 429 and 5xx with jittered backoff, watch the rate-limit headers, and handle truncation and mid-stream failure as normal events.Under exam pressure, walk the letters: most application-design questions are asking which of these six steps the described system skipped.
Practise this domain with original, exam-style questions.
Start practising free