Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Validate an API Response

EasyPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Validate an API Response. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Thales CipherTrust Manager integrations should reject malformed or unsuccessful API responses before processing returned data. Write a function that validates one decoded CipherTrust Manager API response represented as a Python dictionary.

A response is valid only when all of these rules hold:

  1. status_code is an integer from 200 through 299.
  2. body is a dictionary.
  3. body["request_id"] is a non-empty string.
  4. body["status"] is exactly the string "ok".
  5. The data key exists in body. Its value may be any JSON-compatible value, including null, a list, or an empty dictionary.

Return True when every rule passes. Return False for missing keys, incorrect types, unsuccessful status codes, or invalid values. Extra response or body fields are allowed.

Formal Specification

Input: response, a Python dictionary containing JSON-like values.

Output: A Boolean indicating whether the response satisfies the validation rules.

Constraints

  • response contains at most 20 top-level keys.
  • body contains at most 50 keys when it is a dictionary.
  • Values are limited to JSON-compatible types.
  • Do not modify the input dictionary.

Function Signature

def validate_api_response(response):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output