CCDV-F domain drill
CCDV-F practice questions: Applications and integration.
20 original questions on Applications and integration, which carries 33.1% of the Claude Certified Developer – Foundations exam per the published guide. Study notes first, then the questions with an explanation for each. When this domain feels solid, take the timed CCDV-F practice exam and check the domain breakdown.
What to know about Applications and integration
- The Messages API: request shape, message roles, system prompt placement, max_tokens, and what each stop_reason means (end_turn, max_tokens, tool_use, stop_sequence).
- Streaming responses and how to handle partial content and tool-use blocks as they arrive.
- Multimodal inputs: images and PDFs as content blocks, and the Files API for reusing uploads.
- Structured output: JSON via tool definitions or structured outputs, and validating what comes back.
- The Batch API for high-volume, non-urgent work at lower cost.
- Errors, rate limits, and retries: status codes, exponential backoff, and idempotent design for anything that writes.
- Prompt caching mechanics: cache breakpoints, minimum lengths, and ordering stable content first.
Applications and integration questions
A response comes back with stop_reason set to max_tokens. What happened?
Show answer
Answer: The output reached the max_tokens limit and was cut off before the model finished. max_tokens means truncation: the output hit the cap you set. Raise the limit or continue the response. end_turn is the natural finish, and an oversized input fails before any stop_reason is produced.
A response has stop_reason tool_use. What must your code do next?
Show answer
Answer: Execute the requested tool, append a tool_result block with the matching id, and call the model again. tool_use hands control to your code. You run the tool, return the result in a tool_result block, and let the model continue. Client tools are not executed server-side, and the model cannot produce a tool_result on its own.
Users should see the answer appear as it is generated. What do you use?
Show answer
Answer: Set stream to true and render content_block_delta events as they arrive. Streaming delivers partial content as server-sent events; your client renders the deltas. There is no polling status for a synchronous message, and batches add latency rather than remove it.
You have 20,000 documents to classify overnight, with no latency requirement, and cost matters. Best choice?
Show answer
Answer: Submit them through the Message Batches API and collect results when the batch completes. Batches trade latency for lower cost and are built for large, non-urgent workloads. A worker pool works but pays full price, and one giant request runs into context and output limits.
Every request includes the same 30,000-token reference manual followed by a short question. How do you cut cost?
Show answer
Answer: Put a cache_control breakpoint on the manual block so the prefix is reused across requests. Prompt caching reuses a stable prefix. The manual is the prefix; the question changes each time and comes after the breakpoint. Files API uploads still count as input tokens on every request that references them.
Your integration starts receiving HTTP 429 responses. What is the right client behavior?
Show answer
Answer: Back off exponentially with jitter and honor the retry-after header when it is present. 429 is rate limiting. Exponential backoff with jitter spreads retries; retry-after tells you how long to wait. Limits apply at the organization level, so swapping keys does not help.
Which fields are required in a Messages API request?
Show answer
Answer: model, messages, and max_tokens. Every request names the model, provides messages, and sets max_tokens. system, temperature, and stream are optional.
Where does the system prompt go in a Messages API request?
Show answer
Answer: In the top-level system parameter of the request. The Messages API takes the system prompt as a top-level parameter. messages only accepts user and assistant roles, so a system role entry is rejected.
A response's content array contains a text block followed by a tool_use block. What does that mean?
Show answer
Answer: The model wrote some text, then requested a tool call; you run it and return a tool_result. Content blocks can mix text and tool_use; tool_use hands control to your code and the stop_reason will be tool_use. Truncation would show stop_reason max_tokens instead.
Your app sends an image for analysis. How is it included?
Show answer
Answer: As an image content block, with a base64 or URL source, inside a user message. Images are content blocks in the user turn with a source of type base64 or url. The system parameter and the tools array do not carry images.
What does stop_reason end_turn tell you?
Show answer
Answer: The model finished its turn naturally and is not waiting on anything. end_turn is the normal completion signal. A custom stop sequence reports stop_sequence, and a paused server tool turn reports pause_turn.
A streaming response is interrupted midway. What should a robust client do?
Show answer
Answer: Detect the missing message_stop event, then retry or mark the partial output as incomplete. Streams can drop; a complete stream ends with message_stop. Handle incompleteness explicitly. stop_reason is a response field, not something you can send.
You need consistent structured data from many documents. Which approach is most robust?
Show answer
Answer: Define a tool with a JSON schema for the fields, force it with tool_choice, and validate the arguments. Schema-enforced tool arguments give reliable structure; validation catches the rest. Temperature 0 makes output steadier but does not guarantee valid JSON.
Which header carries your credential when calling the API directly?
Show answer
Answer: x-api-key with the key as its value. The Anthropic API authenticates with the x-api-key header. anthropic-version is a separate required header that pins the API version.
A request returns HTTP 400 with an invalid_request_error. Most likely cause?
Show answer
Answer: A malformed body, such as a missing required field or an unsupported parameter. 400s are client-side shape problems. Rate limits are 429, permission problems are 403, and overload is 529.
What is the Files API useful for?
Show answer
Answer: Uploading a document once and referencing it by file id across many requests. Upload once, reference by id. Referenced files still count as input tokens; skipping repeated billing is what prompt caching does.
A batch job finished but some requests show errors. What should your code do?
Show answer
Answer: Read each request's result, retry the failed ones, and treat the batch as non-atomic. Batches report per-request outcomes; handle them individually. Successful requests in a partially failed batch are billed and their results are valid.
You want to count tokens before sending a large prompt to avoid exceeding limits. Which capability?
Show answer
Answer: The token counting endpoint, which returns input tokens for a prompt. Token counting lets you budget before you send. message_start usage arrives only after the request is accepted, and there is no count_tokens flag on messages.
Which SDK pattern avoids re-implementing the tool loop by hand?
Show answer
Answer: A tool runner or agent helper provided by the SDK. SDK helpers manage the tool-call loop for you. tool_choice auto only lets the model decide whether to call a tool; execution is still your job.
A multi-turn app appends every response to the history. After 50 turns the requests fail. What is the fix?
Show answer
Answer: Trim or summarize older turns to stay inside the context window. History grows; manage it. Cached tokens still occupy the context window, and max_tokens only limits output.
Next
- Timed CCDV-F practice exam: 53 questions in 120 minutes, scored against the 720 pass mark.
- All CCDV-F practice questions with a domain filter.
- The CCDV-F exam page: format, weights, registration, study path.
Other CCDV-F domains
FAQ
How much of the CCDV-F exam is applications and integration?+
33.1% of the marks, per the published CCDV-F exam guide. The full domain list with weights is on the CCDV-F exam page.
Are these real CCDV-F exam questions?+
No. They are 20 original scenario questions written from the blueprint for this domain. Reproducing exam content would violate the candidate agreement.
How should I study applications and integration for CCDV-F?+
Read the domain notes on this page, answer the questions with explanations hidden, then take the timed CCDV-F practice exam and check the per-domain breakdown for this domain.



