API Development challenges

Practice problem statements with input format, output format, constraints and solutions.

beginner

API Basics challenge

Build a small solution that uses API Basics in API Development and handles one normal case plus one edge case.

Input format

Use a short text value, array, query, or sample object depending on the topic.

Output format

Print, render, or return the processed result in a readable format.

Constraints

  • Keep the solution under 60 lines.
  • Use descriptive names.
  • Do not depend on hidden external services.

Starter code

// API Specification for API Basics
{
  "route": "/api/v1/api-basics",
  "method": "POST",
  "contentType": "application/json",
  "response200": { "success": true }
}

Test cases

  • basic sample - valid processed result
  • empty or small sample - safe fallback result

Hint

Focus on the core api basics pattern before polishing the final output.

Solution

// API Specification for API Basics solution
{
  "route": "/api/v1/api-basics-solution",
  "method": "POST",
  "contentType": "application/json",
  "response200": { "success": true }
}
beginner

HTTP Protocols and Methods challenge

Build a small solution that uses HTTP Protocols and Methods in API Development and handles one normal case plus one edge case.

Input format

Use a short text value, array, query, or sample object depending on the topic.

Output format

Print, render, or return the processed result in a readable format.

Constraints

  • Keep the solution under 60 lines.
  • Use descriptive names.
  • Do not depend on hidden external services.

Starter code

// REST API Payload
GET /api/v1/orders?status=paid&limit=10
Host: api.ankuaitools.com
Authorization: Bearer jwt_token_here
Accept: application/json

Test cases

  • basic sample - valid processed result
  • empty or small sample - safe fallback result

Hint

Focus on the core http protocols and methods pattern before polishing the final output.

Solution

// REST API Payload
GET /api/v1/orders?status=paid&limit=10
Host: api.ankuaitools.com
Authorization: Bearer jwt_token_here
Accept: application/json
beginner

REST Architecture Guidelines challenge

Build a small solution that uses REST Architecture Guidelines in API Development and handles one normal case plus one edge case.

Input format

Use a short text value, array, query, or sample object depending on the topic.

Output format

Print, render, or return the processed result in a readable format.

Constraints

  • Keep the solution under 60 lines.
  • Use descriptive names.
  • Do not depend on hidden external services.

Starter code

// REST API Payload
GET /api/v1/orders?status=paid&limit=10
Host: api.ankuaitools.com
Authorization: Bearer jwt_token_here
Accept: application/json

Test cases

  • basic sample - valid processed result
  • empty or small sample - safe fallback result

Hint

Focus on the core rest architecture guidelines pattern before polishing the final output.

Solution

// REST API Payload
GET /api/v1/orders?status=paid&limit=10
Host: api.ankuaitools.com
Authorization: Bearer jwt_token_here
Accept: application/json
beginner

URL Path Design challenge

Build a small solution that uses URL Path Design in API Development and handles one normal case plus one edge case.

Input format

Use a short text value, array, query, or sample object depending on the topic.

Output format

Print, render, or return the processed result in a readable format.

Constraints

  • Keep the solution under 60 lines.
  • Use descriptive names.
  • Do not depend on hidden external services.

Starter code

// API Specification for URL Path Design
{
  "route": "/api/v1/url-path-design",
  "method": "POST",
  "contentType": "application/json",
  "response200": { "success": true }
}

Test cases

  • basic sample - valid processed result
  • empty or small sample - safe fallback result

Hint

Focus on the core url path design pattern before polishing the final output.

Solution

// API Specification for URL Path Design solution
{
  "route": "/api/v1/url-path-design-solution",
  "method": "POST",
  "contentType": "application/json",
  "response200": { "success": true }
}
beginner

Request Headers challenge

Build a small solution that uses Request Headers in API Development and handles one normal case plus one edge case.

Input format

Use a short text value, array, query, or sample object depending on the topic.

Output format

Print, render, or return the processed result in a readable format.

Constraints

  • Keep the solution under 60 lines.
  • Use descriptive names.
  • Do not depend on hidden external services.

Starter code

// API Specification for Request Headers
{
  "route": "/api/v1/request-headers",
  "method": "POST",
  "contentType": "application/json",
  "response200": { "success": true }
}

Test cases

  • basic sample - valid processed result
  • empty or small sample - safe fallback result

Hint

Focus on the core request headers pattern before polishing the final output.

Solution

// API Specification for Request Headers solution
{
  "route": "/api/v1/request-headers-solution",
  "method": "POST",
  "contentType": "application/json",
  "response200": { "success": true }
}
beginner

Response Status Codes challenge

Build a small solution that uses Response Status Codes in API Development and handles one normal case plus one edge case.

Input format

Use a short text value, array, query, or sample object depending on the topic.

Output format

Print, render, or return the processed result in a readable format.

Constraints

  • Keep the solution under 60 lines.
  • Use descriptive names.
  • Do not depend on hidden external services.

Starter code

// API Specification for Response Status Codes
{
  "route": "/api/v1/response-status-codes",
  "method": "POST",
  "contentType": "application/json",
  "response200": { "success": true }
}

Test cases

  • basic sample - valid processed result
  • empty or small sample - safe fallback result

Hint

Focus on the core response status codes pattern before polishing the final output.

Solution

// API Specification for Response Status Codes solution
{
  "route": "/api/v1/response-status-codes-solution",
  "method": "POST",
  "contentType": "application/json",
  "response200": { "success": true }
}
beginner

JSON Payload Format challenge

Build a small solution that uses JSON Payload Format in API Development and handles one normal case plus one edge case.

Input format

Use a short text value, array, query, or sample object depending on the topic.

Output format

Print, render, or return the processed result in a readable format.

Constraints

  • Keep the solution under 60 lines.
  • Use descriptive names.
  • Do not depend on hidden external services.

Starter code

{
  "id": 42,
  "total": 56,
  "status": "paid",
  "customer": "Asha",
  "items": [{ "sku": "key-01", "qty": 1 }]
}

Test cases

  • basic sample - valid processed result
  • empty or small sample - safe fallback result

Hint

Focus on the core json payload format pattern before polishing the final output.

Solution

{
  "id": 42,
  "total": 56,
  "status": "paid",
  "customer": "Asha",
  "items": [{ "sku": "key-01", "qty": 1 }]
}
beginner

Query Parameters challenge

Build a small solution that uses Query Parameters in API Development and handles one normal case plus one edge case.

Input format

Use a short text value, array, query, or sample object depending on the topic.

Output format

Print, render, or return the processed result in a readable format.

Constraints

  • Keep the solution under 60 lines.
  • Use descriptive names.
  • Do not depend on hidden external services.

Starter code

// API Specification for Query Parameters
{
  "route": "/api/v1/query-parameters",
  "method": "POST",
  "contentType": "application/json",
  "response200": { "success": true }
}

Test cases

  • basic sample - valid processed result
  • empty or small sample - safe fallback result

Hint

Focus on the core query parameters pattern before polishing the final output.

Solution

// API Specification for Query Parameters solution
{
  "route": "/api/v1/query-parameters-solution",
  "method": "POST",
  "contentType": "application/json",
  "response200": { "success": true }
}
beginner

Pagination Patterns challenge

Build a small solution that uses Pagination Patterns in API Development and handles one normal case plus one edge case.

Input format

Use a short text value, array, query, or sample object depending on the topic.

Output format

Print, render, or return the processed result in a readable format.

Constraints

  • Keep the solution under 60 lines.
  • Use descriptive names.
  • Do not depend on hidden external services.

Starter code

// API Specification for Pagination Patterns
{
  "route": "/api/v1/pagination-patterns",
  "method": "POST",
  "contentType": "application/json",
  "response200": { "success": true }
}

Test cases

  • basic sample - valid processed result
  • empty or small sample - safe fallback result

Hint

Focus on the core pagination patterns pattern before polishing the final output.

Solution

// API Specification for Pagination Patterns solution
{
  "route": "/api/v1/pagination-patterns-solution",
  "method": "POST",
  "contentType": "application/json",
  "response200": { "success": true }
}
beginner

Filtering and Sorting APIs challenge

Build a small solution that uses Filtering and Sorting APIs in API Development and handles one normal case plus one edge case.

Input format

Use a short text value, array, query, or sample object depending on the topic.

Output format

Print, render, or return the processed result in a readable format.

Constraints

  • Keep the solution under 60 lines.
  • Use descriptive names.
  • Do not depend on hidden external services.

Starter code

// API Specification for Filtering and Sorting APIs
{
  "route": "/api/v1/filtering-and-sorting-apis",
  "method": "POST",
  "contentType": "application/json",
  "response200": { "success": true }
}

Test cases

  • basic sample - valid processed result
  • empty or small sample - safe fallback result

Hint

Focus on the core filtering and sorting apis pattern before polishing the final output.

Solution

// API Specification for Filtering and Sorting APIs solution
{
  "route": "/api/v1/filtering-and-sorting-apis-solution",
  "method": "POST",
  "contentType": "application/json",
  "response200": { "success": true }
}