{
  "api": "personal-api",
  "name": "Aaron Makelky Personal API",
  "version": "2026-09-03.1",
  "visibility": "public",
  "updatedAt": "2026-09-03",
  "audience": [
    "people",
    "AI agents"
  ],
  "maintainedIn": "repo",
  "humanUrl": "https://aaronmakelky.com/tools/personal-api",
  "baseUrl": "https://aaronmakelky.com/api/personal",
  "auth": {
    "required": false,
    "note": "No token is required. Everything returned by this API is public."
  },
  "contact": {
    "email": "aaron+api@aaronmakelky.com",
    "endpoint": "https://aaronmakelky.com/api/personal/contact"
  },
  "responseEnvelope": {
    "type": "object",
    "required": [
      "api",
      "version",
      "endpoint",
      "visibility",
      "updatedAt",
      "humanUrl",
      "source",
      "summary",
      "data",
      "dataSchema"
    ]
  },
  "endpoints": [
    {
      "id": "availability",
      "title": "Availability",
      "summary": "See when I'm free and book a 30-minute intro.",
      "method": "GET",
      "path": "/api/personal/availability",
      "url": "https://aaronmakelky.com/api/personal/availability",
      "dataSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "scope",
          "bookingUrl",
          "notes"
        ],
        "properties": {
          "scope": {
            "type": "string"
          },
          "bookingUrl": {
            "type": "string",
            "format": "uri"
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    {
      "id": "ai-consultation",
      "title": "1-hour AI consultation",
      "summary": "One hour to work through an AI setup or workflow for you or your team.",
      "method": "GET",
      "path": "/api/personal/ai-consultation",
      "url": "https://aaronmakelky.com/api/personal/ai-consultation",
      "dataSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "scope",
          "durationMinutes",
          "bookingUrl",
          "focusAreas",
          "notes"
        ],
        "properties": {
          "scope": {
            "type": "string"
          },
          "durationMinutes": {
            "type": "number"
          },
          "bookingUrl": {
            "type": "string",
            "format": "uri"
          },
          "focusAreas": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    {
      "id": "coffee-order",
      "title": "Coffee order",
      "summary": "A sugar-free breve, iced in summer if you want, and never after 1 p.m.",
      "method": "GET",
      "path": "/api/personal/coffee-order",
      "url": "https://aaronmakelky.com/api/personal/coffee-order",
      "dataSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "default",
          "seasonal",
          "hardRules"
        ],
        "properties": {
          "default": {
            "type": "string"
          },
          "seasonal": {
            "type": "string"
          },
          "hardRules": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    {
      "id": "gift-ideas",
      "title": "Gift ideas",
      "summary": "XL shirts and jackets, plus a few gifts I'd actually use.",
      "method": "GET",
      "path": "/api/personal/gift-ideas",
      "url": "https://aaronmakelky.com/api/personal/gift-ideas",
      "dataSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "sizes",
          "likes"
        ],
        "properties": {
          "sizes": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "shirt",
              "jacket"
            ],
            "properties": {
              "shirt": {
                "type": "string"
              },
              "jacket": {
                "type": "string"
              }
            }
          },
          "likes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    {
      "id": "contact",
      "title": "Contact",
      "summary": "Send questions or corrections here. You can also tell me what the API is missing.",
      "method": "GET",
      "path": "/api/personal/contact",
      "url": "https://aaronmakelky.com/api/personal/contact",
      "dataSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "email",
          "purpose"
        ],
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          },
          "purpose": {
            "type": "string"
          }
        }
      }
    }
  ]
}