OpenAPI Specification

The complete API specification is available in OpenAPI 3.0.1 format.

View the Specification

You can view and interact with the full API specification in several ways:

1. Source File

The OpenAPI specification is available in the API app repository:

📄 openapi.yaml

2. Redocly Documentation

For an interactive API documentation experience, visit our Redocly-powered documentation portal where you can:

  • Browse all endpoints with detailed descriptions
  • See request/response examples
  • Try out API calls directly in your browser

🔗 View Interactive API Docs

3. Import into Tools

You can import the OpenAPI specification into various tools:

  • Swagger UI: For interactive API exploration
  • Postman: For API testing and development
  • Insomnia: For REST API client
  • API Development Tools: Any tool that supports OpenAPI 3.0+

Specification Highlights

Base Information

  • Title: Instagram Hashtag Feed API
  • Version: 0.1.0
  • OpenAPI Version: 3.0.1

Servers

  • Local Development: http://localhost:3000

Endpoints

GET /api/feed

Returns a chronological feed of posts for specified hashtags.

Parameters: - hashtags (query, string): Comma-separated list of hashtags - limit (query, integer): Maximum number of items (1-100) - mode (query, string): Data source - "mock" or "instagram"

Responses: - 200: Success with feed items - 400: Bad request - 502: Upstream error

Data Models

FeedItem

Represents a single social media post with: - id: Unique identifier - permalink: Link to the post - media_url: URL of the media content - caption: Post text - username: Author username - timestamp: ISO 8601 timestamp - hashtags: Array of hashtags

Error

Error response with: - error: Error code or message - details: Additional information

Using the Specification

Download the Spec

# Download the OpenAPI specification
curl -O https://raw.githubusercontent.com/anandileela/portfolio/main/packages/api-app/openapi.yaml

Generate Client Code

You can use the OpenAPI specification to generate client code in various languages:

# Using OpenAPI Generator
openapi-generator-cli generate -i openapi.yaml -g javascript -o ./client

# Other supported languages: python, java, go, typescript-fetch, etc.

Validate API Responses

Use the specification to validate that API responses match the schema:

// Example using a validation library
import { validate } from 'openapi-validator';

const response = await fetch('http://localhost:3000/api/feed');
const data = await response.json();

// Validate against the OpenAPI spec
const isValid = validate(data, openApiSpec, '/api/feed', 'get', '200');