Inviite

The Inviite API


All actions have standard REST verbs: GET, POST, PUT, DELETE.

An invitation represents a described event at a particular place, with a start (and optionally end) time.


URL

http://api.inviite.com/invitations.format

Formats

json, xml

HTTP Method

GET

Requires Authentication

false

Request Parameters

  • q

    search by query string

    Example http://api.inviite.com/invitations.json?q=birthday

  • tags

    return events with tags

    Example http://api.inviite.com/invitations.json?tags=jets

  • radius

    find nearby events as a radius degree around a given latitude, longitude. Defaults to 0.3

  • latitude

    find nearby events as latitude, also requires longitude

  • longitude

    find nearby events as longitude, also requires latitude

    Example
    http://api.inviite.com/invitations.json?latitude=45.52240508804939&longitude=-122.68415500000003

Response Example

{
  "invitation_id":"oqMJ",
  "title":"Surprise Tailgating Party!",
  "details":"<div>You're invited to my tailgating party!
    You don't need to bring any beer. On the other hand...</div>",
  "start_date_time":"2021-03-01T16:00:00+00:00",
  "end_date_time":"2021-03-01T18:00:00+00:00",
  "public":false,
  "price":0.0,
  "tags":["tailgating", "beer"]
  "attending":{
    "no_response":0
    "yes":1,
    "no":0,
    "maybe":0,
  },
  "place":{
    "venue":"Crystal Ballroom",
    "address":"550 SW 16th Ave, Portland, OR 97205",
    "city":"Portland",
    "state":"OR",
    "timezone":"America/Los_Angeles",
    "utc_offset":-8.0,
    "dst_utc_offset":-7.0,
    "population": 540513,
    "country":"US",
    "location":{
      "latitude":45.52240508804939,
      "longitude":-122.68415500000003
    }
  },
  "attendance_options":{
    "yes":true,
    "no":true,
    "maybe":false
  },
  "guests":[{
    "guest_id":"4d95749b360b0143eb00002d",
    "name":"Eric Redmond",
    "attending":"yes",
    "others":0,
    "role":"organizer",
    "avatar":"http://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e",
    "location":{
      "latitude":45.52240508804939,
      "longitude":-122.68415500000003
    }
    "comments": [{
      "text": "This sounds fun!"
      "private": false
    }]
  }]
}

Response Values

All values are optional unless otherwise noted. Only "title" and "start_date_time" are required to create an event.

  • invitation_id

    A public ID representing the event. The normal web access method is http://inviite.com/i/invitation_id

  • title (required)

    A 50 char or less description of the event. Is required.

  • details

    A longer HTML-laden description of the event

  • start_date_time (required)

  • end_date_time

    Start and end time of the event in extended ISO 8601 date-time format. [YYYY]-[MM]-[DD]T[hh]:[mm]+00:00 Currently, the timezones are set to 0 and assumed to be in local time. I have a mechanism for tracking timezone by city closest to geo location, but until it's 100% correct, this way is fine. Since people will be in proximity, or know the location, they can assume 5:00pm means 5:00pm local time, not GMT :)

  • all_day

    True if the event lasts all day. Time isn't required in this case, but clearly date still is. So start_date_time is still required.

  • tags

    An array of any strings used to tag the event. Can be used as categories.

  • price

    Unused in this context. Can be set if an event has a charge.

  • public

    True if this event is publicly available (if public, event will be automatically added to SEO friendly event feeds and public calendars). I have this set to false

  • guests

    A guest is someone who has (or is expected to) RSVP to an invitation no_response, yes, no, maybe

    • id

    • name

    • attending

      no_response, yes, no, maybe

    • others

      a count of other guests this person is bringing

    • role

      The role of the guest. Currently only "organizer" has any meaning, and is the person who created the invitation.

    • avatar

      A link to an icon that represents the person

    • comments

      • text

      • private

        True if this comment is not to be published, and is viewable only by the organizer.

  • attendance_options

    Mark the options available for attendance. Options are yes, no, and maybe.

    Example {"yes":true,"no":false,"maybe":false} ... Guests may only RSVP "yes", or not at all

    • yes

    • no

    • maybe

  • attending

    Each value is just a count of guests with the given attending response.

    Example If 5 guests said "yes", {"yes":5, "no":0, "maybe":0, "no_response":0}. It's just a count.

    • no_response

    • yes

    • no

    • maybe

  • place

    Information known about a place. Provides a venue name, address, city and other information. Importantly, also contains nested location information

    • venue

    • address

    • city

    • state

    • country

    • timezone

    • population

    • location

      The global latitude/longitude coordinates of the event

      • latitude

        A number between -180 and 180, representing a latitude position on the globe

      • longitude

        A number between -180 and 180, representing a longitude position on the globe


URL

http://api.inviite.com/invitations.format

Formats

json, xml

HTTP Method

POST

Request Parameters

  • Any of the above, plus the following
  • city_input - name of a city. uses best match unless a specific state is also given

    Example "Portland"

  • state_input - name of a state. city_input required if a state is given

    Example "OR"

  • venue_input - name of a venue

    Example "Crystal Ballroom"

  • address - an address

    Example "1234 Sesame St"

  • tag_input - A comma separated list of tags/categories

    Example "tailgating,party,beerbash"

  • location[latitude] - set latitude
  • location[longitude] - set longitude
  • group_nickname - the nickname of a group hosting the event, accessible by http://inviite.com/group_nickname

    Example "pdxweb"

Response Values

private_id

YOU MUST KEEP THIS. You cannot update an event or delete if you do not have the private key. This will change with the implementation of an OAuth security model. But for now, this secret key lets us know that this person created the event initially.


URL

http://api.inviite.com/invitations.format

Formats

json, xml

HTTP Method:

PUT

Request Parameters

  • private_id (required)

Response Values

Same as above


Retrieving a single event

URL

http://api.inviite.com/invitations/invitation_id.format

Formats

json, xml

HTTP Method

GET


More Doco coming soon