Luna · Schema
LogEventRequest
Body for `POST /api/vega/log`. Provide the fields that make sense for `type`.
Baby TrackerShared LogHealth TrackingFamily Care
Properties
| Name | Type | Description |
|---|---|---|
| type | string | |
| ts | object | ISO 8601 local time; defaults to now. Cannot be in the future. |
| ml | object | `milk`: millilitres, 0-500. Use 0 (or omit) for a breastfeed. |
| kind | object | `nappy`: wet|dirty|both|dry. `supplement`: vitd|iron|multivitamin. |
| foods | object | `solid`: foods eaten. |
| meal_type | object | `solid` only. |
| kg | object | `weight`: kilograms, 0.5-30. |
| cm | object | `length`: centimetres, 40-120. |
| ug | object | `supplement`: micrograms. |
| note | object | Free text, up to 300 characters. |
| author | object | Defaults to the calling user's username. |
| timezone | object | IANA zone if `ts` is in a different zone from the family's. |
| client_id | object | Same as the `Idempotency-Key` header, for clients that can't set headers. 8-128 characters: letters, digits, `_ - . :`. If both are sent they must match. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/getmyluna-app/json-schema/getmyluna-app-log-event-request-schema.json",
"title": "LogEventRequest",
"description": "Body for `POST /api/vega/log`. Provide the fields that make sense for `type`.",
"x-generated": "2026-11-10",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/getmyluna-app-openapi.json#/components/schemas/LogEventRequest",
"properties": {
"type": {
"enum": [
"milk",
"sleep",
"wake",
"nappy",
"poop",
"solid",
"note",
"supplement",
"weight",
"length"
],
"title": "Type",
"type": "string"
},
"ts": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO 8601 local time; defaults to now. Cannot be in the future.",
"title": "Ts"
},
"ml": {
"anyOf": [
{
"maximum": 500,
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "`milk`: millilitres, 0-500. Use 0 (or omit) for a breastfeed.",
"title": "Ml"
},
"kind": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "`nappy`: wet|dirty|both|dry. `supplement`: vitd|iron|multivitamin.",
"title": "Kind"
},
"foods": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "`solid`: foods eaten.",
"title": "Foods"
},
"meal_type": {
"anyOf": [
{
"enum": [
"meal",
"snack"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "`solid` only.",
"title": "Meal Type"
},
"kg": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "`weight`: kilograms, 0.5-30.",
"title": "Kg"
},
"cm": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "`length`: centimetres, 40-120.",
"title": "Cm"
},
"ug": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "`supplement`: micrograms.",
"title": "Ug"
},
"note": {
"anyOf": [
{
"maxLength": 300,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Free text, up to 300 characters.",
"title": "Note"
},
"author": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Defaults to the calling user's username.",
"title": "Author"
},
"timezone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "IANA zone if `ts` is in a different zone from the family's.",
"title": "Timezone"
},
"client_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Same as the `Idempotency-Key` header, for clients that can't set headers. 8-128 characters: letters, digits, `_ - . :`. If both are sent they must match.",
"title": "Client Id"
}
},
"required": [
"type"
],
"type": "object"
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/getmyluna-app-log-event-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.