Start here

Getting Started

The Portfolio API exposes the same structured content used across this site: featured projects, long-form writing, API docs content, and lightweight AI workflow metadata. The goal is simple integration, predictable JSON, and docs you can scan in a minute.

What you can do

Read published portfolio content, fetch project details, and build your own client with straightforward REST endpoints and stable response envelopes.

Bearer auth JSON over HTTPS Resource-based routes

Base URL

All requests go through one versioned origin.

https://api.oscarrondon.com/v1

Use HTTPS only and send an Authorization header on every request.

Format REST + JSON

Simple endpoints, readable payloads, predictable field names.

Version v1 stable

Versioned URLs keep integrations calm while the portfolio evolves.

Use case Portfolio surfaces

Projects, writing, docs content, and automation-friendly metadata.

Authentication

Every request includes one bearer token. Keep it server-side and treat it like any other secret.

Header

Send Authorization: Bearer YOUR_API_KEY with each call. Requests without it return 401.

Environment

Store the key in an environment variable or secure secret manager. Never ship it in client-side bundles.

Example header
HTTP request
GET /v1/content HTTP/1.1
Host: api.oscarrondon.com
Authorization: Bearer YOUR_API_KEY
Accept: application/json

Make your first request

Start with the published content collection. It is small, readable, and shows the response contract used throughout the API.

1

Use your API key

Replace YOUR_API_KEY with your token and call the /content endpoint.

2

Filter to one content type

Keep the first response focused by requesting only published guides.

Example request
GET /v1/content
curl "https://api.oscarrondon.com/v1/content?type=guide&status=published&limit=3" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Why start here?

This endpoint mirrors the kind of structured portfolio data a frontend actually needs: title, slug, category, publish state, and a few display-friendly fields.

Understand the response shape

Responses stay compact. Most list endpoints return a data array plus lightweight pagination and metadata.

Example response
application/json
{
  "data": [
    {
      "id": "cnt_1024",
      "slug": "designing-docs-that-feel-fast",
      "title": "Designing Docs That Feel Fast",
      "type": "guide",
      "status": "published",
      "summary": "A short guide to clean structure, simple examples, and readable API references.",
      "updated_at": "2026-03-28T14:20:00Z"
    }
  ],
  "pagination": {
    "limit": 3,
    "offset": 0,
    "has_more": false
  },
  "meta": {
    "request_id": "req_7gk29m",
    "version": "v1"
  }
}

data

The main payload. Lists return arrays and single-resource routes return one object.

meta

Small operational details like request id, version, or timing that help with debugging.

Next steps

Once the first request works, move deeper into the reference in this order.

Authentication

See key formats, request headers, and security guidance.

API Reference

Review routes, methods, and status codes before building a client.

Content API

Dig into the most useful resource group first, including filters and examples.

Guides

Use integration notes and best practices when you are ready to productionize.