Joinways · Schema

Event

The stored event, as returned by `POST /events`, `PATCH /events/{id}` and the conversion of a lead. Every column of the event is returned except the internal search fields, the embedding and the public tokens; the main ones are listed. Amounts are `null` without `reports.view` or `quotes.manage`.

Event ManagementSoftware-as-a-ServiceCRMVenue SoftwareMultilingual

Properties

Name Type Description
id string
account_id string
event_number integernull
internal_reference stringnull
title string
description stringnull
type stringnull
category stringnull
status object
status_changed_at stringnull
stage_id stringnull
stage_changed_at stringnull
pax integernull
start_date string
end_date stringnull
selected_dates arraynull
day_hours object
timezone stringnull
is_virtual booleannull
flexible booleannull
language stringnull
venue_id stringnull The venue (internally `location_id`).
location stringnull Free-text place (legacy), not the venue.
address stringnull
city stringnull
postal_code stringnull
country stringnull
source stringnull
source_lead_id stringnull Primary request (lead) of the event.
budget numbernull
expected_revenue numbernull
currency stringnull
confirmed_amount numbernull
confirmed_amount_excl_tax numbernull
cancellation_fee_excl_tax numbernull
confirmed_at stringnull
loss_reason stringnull
loss_reason_detail stringnull
cancellation_reason stringnull
cancellation_reason_detail stringnull
tags arraynull
notes stringnull
company_id stringnull
contact_person_id stringnull
assigned_to_account_id stringnull
created_by stringnull
billing_company_id stringnull Third-party company the quotes are billed to (instead of the client).
quote_to_platform booleannull The quotes are billed to the booking platform of `source`.
is_replaceable boolean Replaceable booking: a confirmed event that may give up its slot to another request. It keeps its date; the website form and chat show it per their settings, the inbox shows how to free the date. Noth
replaceable_changes array What may change for a replaceable booking (`[]` when it is not).
event_group_id stringnull
external_link stringnull
setup_type stringnull
setup_notes stringnull
catering_notes stringnull
dietary_notes stringnull Diets and allergies (« Contraintes alimentaires »), for the whole event.
technical_notes stringnull
service_notes stringnull
beo_context stringnull
beo_remarks stringnull
schedule arraynull BEO program lines (see `BeoUpdate.schedule`).
technical_needs stringnull Technical needs, free text.
service_needs stringnull Service needs, free text.
event_schedule stringnull Schedule as free text; the BEO program is `schedule`.
beo_public_url stringnull Shareable, no-login URL of the public BEO page.
archived_at stringnull
archived_by stringnull
created_at stringnull
updated_at stringnull
View JSON Schema on GitHub

JSON Schema

joinways-app-event-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/joinways-app/json-schema/joinways-app-event-schema.json",
  "title": "Event",
  "description": "The stored event, as returned by `POST /events`, `PATCH /events/{id}` and the conversion of a lead. Every column of the event is returned except the internal search fields, the embedding and the public tokens; the main ones are listed. Amounts are `null` without `reports.view` or `quotes.manage`.",
  "x-generated": "2026-11-13",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/joinways-app-openapi.yml#/components/schemas/Event",
  "type": "object",
  "additionalProperties": true,
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "account_id": {
      "type": "string",
      "format": "uuid"
    },
    "event_number": {
      "type": [
        "integer",
        "null"
      ]
    },
    "internal_reference": {
      "type": [
        "string",
        "null"
      ]
    },
    "title": {
      "type": "string"
    },
    "description": {
      "type": [
        "string",
        "null"
      ]
    },
    "type": {
      "type": [
        "string",
        "null"
      ]
    },
    "category": {
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "$ref": "#/$defs/EventStatus"
    },
    "status_changed_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "stage_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "stage_changed_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "pax": {
      "type": [
        "integer",
        "null"
      ]
    },
    "start_date": {
      "type": "string",
      "format": "date-time"
    },
    "end_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "selected_dates": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string",
        "format": "date"
      }
    },
    "day_hours": {
      "$ref": "#/$defs/DayHours"
    },
    "timezone": {
      "type": [
        "string",
        "null"
      ]
    },
    "is_virtual": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "flexible": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "language": {
      "type": [
        "string",
        "null"
      ]
    },
    "venue_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid",
      "description": "The venue (internally `location_id`)."
    },
    "location": {
      "type": [
        "string",
        "null"
      ],
      "description": "Free-text place (legacy), not the venue."
    },
    "address": {
      "type": [
        "string",
        "null"
      ]
    },
    "city": {
      "type": [
        "string",
        "null"
      ]
    },
    "postal_code": {
      "type": [
        "string",
        "null"
      ]
    },
    "country": {
      "type": [
        "string",
        "null"
      ]
    },
    "source": {
      "type": [
        "string",
        "null"
      ]
    },
    "source_lead_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid",
      "description": "Primary request (lead) of the event."
    },
    "budget": {
      "type": [
        "number",
        "null"
      ]
    },
    "expected_revenue": {
      "type": [
        "number",
        "null"
      ]
    },
    "currency": {
      "type": [
        "string",
        "null"
      ]
    },
    "confirmed_amount": {
      "type": [
        "number",
        "null"
      ]
    },
    "confirmed_amount_excl_tax": {
      "type": [
        "number",
        "null"
      ]
    },
    "cancellation_fee_excl_tax": {
      "type": [
        "number",
        "null"
      ]
    },
    "confirmed_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "loss_reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "loss_reason_detail": {
      "type": [
        "string",
        "null"
      ]
    },
    "cancellation_reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "cancellation_reason_detail": {
      "type": [
        "string",
        "null"
      ]
    },
    "tags": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      }
    },
    "notes": {
      "type": [
        "string",
        "null"
      ]
    },
    "company_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "contact_person_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "assigned_to_account_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "created_by": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "billing_company_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid",
      "description": "Third-party company the quotes are billed to (instead of the client)."
    },
    "quote_to_platform": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "The quotes are billed to the booking platform of `source`."
    },
    "is_replaceable": {
      "type": "boolean",
      "description": "Replaceable booking: a confirmed event that may give up its slot to another request. It keeps its date; the website form and chat show it per their settings, the inbox shows how to free the date. Nothing moves without the team."
    },
    "replaceable_changes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "space",
          "date",
          "time"
        ]
      },
      "description": "What may change for a replaceable booking (`[]` when it is not)."
    },
    "event_group_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "external_link": {
      "type": [
        "string",
        "null"
      ]
    },
    "setup_type": {
      "type": [
        "string",
        "null"
      ]
    },
    "setup_notes": {
      "type": [
        "string",
        "null"
      ]
    },
    "catering_notes": {
      "type": [
        "string",
        "null"
      ]
    },
    "dietary_notes": {
      "type": [
        "string",
        "null"
      ],
      "description": "Diets and allergies (« Contraintes alimentaires »), for the whole event."
    },
    "technical_notes": {
      "type": [
        "string",
        "null"
      ]
    },
    "service_notes": {
      "type": [
        "string",
        "null"
      ]
    },
    "beo_context": {
      "type": [
        "string",
        "null"
      ]
    },
    "beo_remarks": {
      "type": [
        "string",
        "null"
      ]
    },
    "schedule": {
      "type": [
        "array",
        "null"
      ],
      "description": "BEO program lines (see `BeoUpdate.schedule`).",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "technical_needs": {
      "type": [
        "string",
        "null"
      ],
      "description": "Technical needs, free text."
    },
    "service_needs": {
      "type": [
        "string",
        "null"
      ],
      "description": "Service needs, free text."
    },
    "event_schedule": {
      "type": [
        "string",
        "null"
      ],
      "description": "Schedule as free text; the BEO program is `schedule`."
    },
    "beo_public_url": {
      "type": [
        "string",
        "null"
      ],
      "format": "uri",
      "description": "Shareable, no-login URL of the public BEO page."
    },
    "archived_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "archived_by": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "created_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "updated_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    }
  },
  "$defs": {
    "DayHours": {
      "type": [
        "array",
        "null"
      ],
      "description": "Per-day hours of a multi-day event, by date: one entry per day when the days have different hours, `null` when every day has the same hours (the time of `start_date` to the time of `end_date`) or for a one-day event.",
      "items": {
        "$ref": "#/$defs/DayHoursEntry"
      }
    },
    "DayHoursEntry": {
      "type": "object",
      "required": [
        "date",
        "start",
        "end"
      ],
      "description": "The hours of one day, wall-clock in the event's `timezone`. An `end` at or before `start` ends the next morning (overnight), at 06:00 at the latest.",
      "properties": {
        "date": {
          "type": "string",
          "format": "date"
        },
        "start": {
          "type": "string",
          "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
        },
        "end": {
          "type": "string",
          "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
        }
      }
    },
    "EventStatus": {
      "type": "string",
      "enum": [
        "option",
        "confirmed",
        "lost",
        "cancelled"
      ],
      "description": "`option` = pending / tentative, `confirmed` = booked, `lost` = did not convert, `cancelled` = cancelled after booking."
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/joinways-app-event"
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.