Event Objects

Event objects have the following fields:

Basics

_type (string)

All events must have a _type field set to one of the entries in the enum below. (required)

Allowed values:
  • event

name (string)

A simple name of the event, such as “Fiscal subcommittee hearing on pudding cups” (required)

description (string)

A longer description describing the event. As an example, “Topics for discussion include this that and the other thing. In addition, lunch will be served”. (required)

classification (string)

An event category, e.g. town hall. (required)

start_time (datetime)

Starting date / time of the event. This should be fully timezone qualified. (required)

timezone (string)

Time zone of the event. (required)

end_time (datetime, null)

Ending date / time of the event. This should be fully timezone qualified. (required)

all_day (boolean)

Whether the event is a full-day event. (required)

status (string)

String that denotes the status of the meeting. This is useful for showing the meeting is cancelled in a machine-readable way. (required)

Allowed values:
  • cancelled

  • tentative

  • confirmed

  • passed

location (object, null)

Where the event will take place. (required)

url (string)

URL of the location, if applicable.

name (string)

name of the location, such as “City Hall, Boston, MA, USA”, or “Room E201, Dolan Science Center, 20700 North Park Blvd University Heights Ohio, 44118” (required)

coordinates (object, null)

coordinates where this event will take place. If the location hasn’t (or isn’t) geolocated or geocodable, than this should be set to null. (required)

latitude (string)

latitude of the location, if any (required)

longitude (string)

longitude of the location, if any (required)

Linked Entities

media (array)

This “special” schema is used in two places in the Event schema, on the top level and inside the agenda item. This is an optional component that may be omited entirely from a document. (required, minItems: 0)

Each element in media is an object with the following keys:

note (string)

Human-readable name of the media link, such as “Recording of the meeting” or “Discussion of construction near the watershed” (required)

date (string)

Date of the recording

(must match format: ^[0-9]{4}(-[0-9]{2}){0,2}$)

offset (number, null)

Offset where the related part starts. This is optional and may be ommited entirely. (required)

links (array)

List of links to the same media item, each with a different MIME type. (required, minItems: 0)

Each element in links is an object with the following keys:

media_type (string)

IANA Media Type of the media, such as video/mp4 or audio/webm (required)

url (string)

URL where this media may be accessed (required)

text (string)

Text of the media

links (array)

Links related to the event that are not documents or items in the Agenda. This is filled with helpful links for the event, such as a committee’s homepage, reference material or links to learn more about subjects related to the event. (required, minItems: 0)

Each element in links is an object with the following keys:

note (string)

Human-readable name of the link. Something like “Historical precedent for popsicle procurement”

url (string)

A URL for a link about the event (required)

participants (array)

List of participants in the event. This includes committees invited, legislators chairing the event or people who are attending. (required, minItems: 0)

Each element in participants is an object with the following keys:

note (string)

Note regarding the relationship, such as chair for the chair of a meeting. (required)

name (string)

Human-readable name of the participant. (required)

entity_type (string)

What type of entity is this? person may be used if the person is not a legislator, but attending the event, such as an invited speaker or one who is offering testimony.

Allowed values:
  • organization

  • person

entity_name (string)

Reconciled name of the participant. (required)

entity_id (string, null)

Reconciled ID of the participant. (required)

agenda (array)

Agenda of the event, if any. This contains information about the meeting’s agenda, such as bills to discuss or people to present. (required, minItems: 0)

Each element in agenda is an object with the following keys:

description (string)

Human-readable string that represents this agenda item. A good example would be something like The Committee will consider SB 2339, HB 100 (required)

classification (string)

An agenda item category.

order (string)

order of this item, useful for re-creating meeting minutes. This may be ommited entirely. It may also optionally contains “dots” to denote nested agenda items, such as “1.1.2.1” or “2”, which may go on as needed.

subjects (array)

List of related topics of this agenda item relates to. (minItems: 0)

Each element in subjects is of type (string)

notes (array)

List of notes taken during this agenda item, may be used to construct meeting minutes. (minItems: 0)

Each element in notes is of type (string)

`

related_entities (array)

Entities that relate to this agenda item, such as presenters, legislative instruments, or committees. (required, minItems: 0)

Each element in related_entities is an object with the following keys:

note (string)

Human-readable string (if any) noting the relationship between the entity and the agenda item, such as “Jeff will be presenting on the effects of too much cookie dough” (required)

name (string)

Human-readable string representing the entity, such as John Q. Smith. (required)

entity_type (string)

Type of the related object.

Allowed values:
  • bill

  • organization

  • person

  • vote_event

entity_name (string)

Reconciled name of the entity. (required)

entity_id (string, null)

Reconciled ID of the entity. (required)

media (array)

This “special” schema is used in two places in the Event schema, on the top level and inside the agenda item. This is an optional component that may be omited entirely from a document. (required, minItems: 0)

Each element in media is an object with the following keys:

note (string)

Human-readable name of the media link, such as “Recording of the meeting” or “Discussion of construction near the watershed” (required)

date (string)

Date of the recording

(must match format: ^[0-9]{4}(-[0-9]{2}){0,2}$)

offset (number, null)

Offset where the related part starts. This is optional and may be ommited entirely. (required)

links (array)

List of links to the same media item, each with a different MIME type. (required, minItems: 0)

Each element in links is an object with the following keys:

media_type (string)

IANA Media Type of the media, such as video/mp4 or audio/webm (required)

url (string)

URL where this media may be accessed (required)

text (string)

Text of the media

documents (array)

Links to related documents for the event. Usually, this includes things like pre-written testimony, spreadsheets or a slide deck that a presenter will use. (required, minItems: 0)

Each element in documents is an object with the following keys:

note (string)

Human-readable name of the document. Something like “Fiscal Report” or “John Smith’s Slides”. (required)

date (string)

Document posting date (required)

media_type (string)

IANA Media Type of document (required)

url (string)

URL to document (required)

text (string)

Text of the document

links (array)

List of links to text for this document (pdf, html, etc.). (required, minItems: 0)

Each element in links is an object with the following keys:

media_type (string)

IANA Media Type of document (required)

url (string)

URL to document (required)

text (string)

Text of the document

Common Fields

updated_at (string, datetime)

the time that this object was last updated.

created_at (string, datetime)

the time that this object was first created.

sources (array)

URLs for sources relating to the object (required, minItems: 1)

Each element in sources is an object with the following keys:

url (string)

URL of resource used to collect information (required)

note (null, string)

note about what information this URL was used for (required)