NAV

Introduction

Welcome to the InvitePeople API Docs! You can use the InvitePeople API to access your organization's data in InvitePeople.

Getting started

Get your Client ID and secret

To get your Client ID and generate a Client secret log in as a Supervisor Administrator and go to the API Authentication section.

Click on Generate client secret to generate a new Client secret. Please note that any previously generated client secrets will be revoked.

Authentication

Get API token

curl "https://invitepeople.com/api/v2/authentication/token" \
  -X POST \
  -F "client_id=$CLIENT_ID"  \
  -F "client_secret=$CLIENT_SECRET" 

The above command returns JSON structured like this:

{
  "token": "eyJhbGciOiIUI1NiJ9.eyJjbDllbnRfaWQi8I3NzVlNWQzC0zMTNkLTRkZItYj5ZS1iMUTAwNdZjY2YiLCJleHAiOjE2NzzMTQwMDV1.FzoyxZ5CbLB61hijd53L3wC-JFIJS7UTHpbw"
}

Use this endpoint to retrieve an API token. The token is valid for 24 hours.

HTTP Request

POST https://invitepeople.com/api/v2/authentication/token

Query Parameters

Parameter Description
client_id required Your organization's Client ID.
client_secret required Your organization's generated Client secret.

Authorize

curl "https://invitepeople.com/api/v2/endpoint" \
  -H "Authorization: Bearer $TOKEN"

InvitePeople expects for the API token to be included in all API requests to the server in a header that looks like the following:

Authorization: Bearer TOKEN

Filters and pagination

Filter Get all endpoints

Example code for retriveing all records from a Get all endpoint.

require 'httparty'

def get_records(id_before: nil)
  response = HTTParty.get(
    "https://invitepeople.com/api/v2/#{@endpoint}",
    headers: {
      'Authorization': "Bearer #{@token}"
    },
    body: {
      id_before: id_before
    }
  )
  response.parsed_response
end

def get_all_records
  all_records = records = get_records

  while records.any?
    records = get_records(id_before: records.last['id'])
    all_records += records
  end

  all_records
end

All Get all endpoints can be called with the same query parameters to filter and paginate the results. Results are always sorted descending by id. The max number records in a single request is 1000.

Query Parameters

Property Type Description
limit optional integer The max number of records retrieved. Defaults to 1000, which is the max number of records in a single request.
id_before optional integer Get all records with a lower id.
updated_after optional string Get all records that have been updated after some point in time. Should be a time string in ISO 8601 format.

Organizations

Organization

The Organization object represents an organization in InvitePeople. When calling the API you will authenticate on behalf of an Organization and will get access to all Events and Participants under that Organization.

Properties

Property Type Description
name string The name of the Organization.
description string A description of the Organization.
client_id string The ID used for API authentication of the Organization.
custom_event_fields object Custom fields that can be entered when a new Event is created.

Get your Organization

curl "https://invitepeople.com/api/v2/organizations/me" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

{
  "id": 1,
  "name": "Dolor Ligula",
  "description": "Etiam porta sem malesuada magna mollis euismod.",
  "created_at": "2021-04-06T08:51:21.996+02:00",
  "client_id": "20e8a24d-c69f-4c3b-9c2e-e22941c119a8",
  "custom_event_fields" : [
    {
      "kind": "text_field",
      "mandatory": true,
      "name": "ut_enim_ad",
      "title": "Ut enim ad"
    },
    {
      "kind": "select",
      "name": "nemo_enim_ipsam",
      "title": "Nemo enim ipsam",
      "values": [
        "Accusantium",
        "Laudantium",
        "Doloremque"
      ]
    }
  ]
}

Use this endpoint to retrieve your own organization.

HTTP Request

GET https://invitepeople.com/api/v2/organizations/me

Events

Event

The Event object represents an event with a name, time and place. An Event has many Participants.

Properties

Property Type Description
slug string The URL slug of the Event.
name string The name of the Event.
country string The country of the Event's location represented by an ISO 3166-1 alpha-2 code.
address string The address of the Event.
zip string The zip code of the Event.
city string The city of the Event.
place string The name of the Event's place or location.
description object The description of the Event for the registration page. An object with the Event's language codes as keys and the translated descriptions as values.
start_time string The start time of the Event in ISO 8601 format.
end_time string The end time of the Event in ISO 8601 format.
published boolean Indicates if the Event is published or not.
lang string The default language of the Event represented by an ISO 639-1 code.
statistics object Sums up the number of Participants per status. Not included in the Get all Events endpoint.
custom_event_fields_data object Custom field values that can be entered when a new Event is created.
data_minimization_status string The data minimization status of the Event. Possible values are null, pending_anonymization, pending_deletion, anonymized, and exempted.

Get all Events

curl "https://invitepeople.com/api/v2/events" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

[
  {
    "id": 1,
    "slug": "ff361767ffe2",
    "name": "Sollicitudin Lorem",
    "created_at": "2017-11-20T13:55:42.425+01:00",
    "updated_at": "2018-02-14T13:15:36.789+01:00",
    "country": "SE",
    "address": "Lorem Dolor 36",
    "zip": "123 45",
    "city": "Sollicitudin",
    "place": "Condimentum Vulputate",
    "published": true,
    "description": {
      "sv": "<p>Maecenas faucibus mollis interdum. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>",
      "en": "<p>Curabitur blandit tempus porttitor. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.</p>"
    },
    "start_time": "2017-05-31T00:00:00.000+02:00",
    "end_time": "2017-06-02T23:59:00.000+02:00",
    "lang": "sv",
    "organizer": {
      "id": 1,
      "name": "Magna",
      "description": {
        "sv": "Vulputate Elit Cras Tristique Quam",
        "en": "Nibh Sollicitudin Egestas Risus Bibendum"
      },
      "email": "sollicitudin@invitepeople.com",
      "website": "https://invitepeople.com/sollicitudin/"
    },
    "custom_event_fields_data" : {
      "ut_enim_ad": "Qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non."
      "nemo_enim_ipsam": "Laudantium",
    },
    "data_minimization_status" : null,
    "department" : {
      "id": 1,
      "external_id": null,
      "name": "Perspiciatis"
    },
    "event_template" : {
      "id": 1,
      "name": "Voluptas nulla"
    },
    "event_images" : [
      {
        "kind": "share_image",
        "url": "http://storage.invitepeople.com/000/000/share_image.png"
      }
    ]
  },
  {
    "id": 2,
    "slug": "dd761347ee72",
    "name": "Vestibulum Bibendum",
    "created_at": "2017-11-20T13:55:42.425+01:00",
    "updated_at": "2018-02-14T13:15:36.789+01:00",
    "country": "SE",
    "address": "Dapibus Quam 36",
    "zip": "123 45",
    "city": "Ullamcorper",
    "place": "Mollis Sem",
    "published": true,
    "description": {
      "sv": "<p>Nulla vitae elit libero, a pharetra augue. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>",
      "en": "<p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Fusce dapibus, tellus ac.</p>"
    },
    "start_time": "2017-05-31T00:00:00.000+02:00",
    "end_time": "2017-06-02T23:59:00.000+02:00",
    "lang": "sv",
    "organizer": {
      "id": 2,
      "name": "Ipsum",
      "description": {
        "sv": "Venenatis Pharetra Sit Ornare Cras",
        "en": "Purus Commodo Mollis Dolor Condimentum"
      },
      "email": "vestibulum@invitepeople.com",
      "website": "https://invitepeople.com/vestibulum/"
    },
    "custom_event_fields_data": {},
    "data_minimization_status": null,
    "event_images": []
  }
]

Use this endpoint to retrieve all Events in your organization.

HTTP Request

GET https://invitepeople.com/api/v2/events

Query Parameters

Property Type Description
limit optional integer The max number of records retrieved. Defaults to 1000, which is the max number of records in a single request.
id_before optional integer Get all records with a lower id.
updated_after optional string Get all records that have been updated after some point in time. Should be a time string in ISO 8601 format.

Read more about filters and pagination here

Get a specific Event

curl "https://invitepeople.com/api/v2/events/1" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

{
  "id": 1,
  "slug": "ff361767ffe2",
  "name": "Sollicitudin Lorem",
  "created_at": "2017-11-20T13:55:42.425+01:00",
  "updated_at": "2018-02-14T13:15:36.789+01:00",
  "country": "SE",
  "address": "Lorem Dolor 36",
  "zip": "123 45",
  "city": "Sollicitudin",
  "place": "Condimentum Vulputate",
  "published": true,
  "description": {
    "sv": "<p>Maecenas faucibus mollis interdum. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>",
    "en": "<p>Curabitur blandit tempus porttitor. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.</p>"
  },
  "start_time": "2017-05-31T00:00:00.000+02:00",
  "statistics": {
    "participants": {
      "admin_disabled": 10,
      "confirmed": 1235,
      "new": 567
    }
  },
  "end_time": "2017-06-02T23:59:00.000+02:00",
  "lang": "sv",
  "organizer": {
    "id": 1,
    "name": "Magna",
    "description": {
      "sv": "Vulputate Elit Cras Tristique Quam",
      "en": "Nibh Sollicitudin Egestas Risus Bibendum"
    },
    "email": "sollicitudin@invitepeople.com",
    "website": "https://invitepeople.com/sollicitudin/"
  },
  "custom_event_fields_data" : {
    "ut_enim_ad": "Qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non."
    "nemo_enim_ipsam": "Laudantium",
  },
  "data_minimization_status" : null,
  "department" : {
    "id": 1,
    "external_id": null,
    "name": "Perspiciatis"
  },
  "event_template" : {
    "id": 1,
    "name": "Voluptas nulla"
  },
  "event_images" : [
    {
      "kind": "share_image",
      "url": "http://storage.invitepeople.com/000/000/share_image.png"
    }
  ]
}

Use this endpoint to retrieve a specific Event.

HTTP Request

GET https://invitepeople.com/api/v2/events/<ID>

URL Parameters

Parameter Description
ID required The ID of the Event.

Ticket Types

Ticket Type

The Ticket Type object represents a Ticket category for an Event. The Ticket Type can connect Tickets to the Event or to a specific Seminar.

Properties

Property Type Description
description object The name of the Ticket Type. An object with the Event's language codes as keys and the translated names as values.
kind string Possible values are entrance (Entrance ticket), exhibitor_card (Exhibitor card), speaker_card (Speaker card), addon (Additional ticket), and null (Seminar ticket).
external_id string An external ID from another system.
price string Price in the in the Event's currency. The value is formatted as a decimal number.
selling_start_time string Date and time sale starts for this Ticket Type. The value should be in ISO 8601 format.
selling_end_time string Date and time sales end for this Ticket Type. The value should be in ISO 8601 format.
min_purchase_amount integer Minimum number of tickets per Order.
max_purchase_amount integer Maximum number of tickets per Order.
amount integer Number of available Tickets of this Ticket Type.
vat_percentage string VAT rate (percentage) for this Ticket Type. The value is formatted as a decimal number.
visibility string Indicates the visibility of this Ticket type. Possible values are Public, Private, and null.
caption object A header used to categorise the Ticket Type. An object with the Events language codes as keys and the translated names as values.
personal_addon boolean Indicates if this Ticket Type can be added to individuals in the purchase process. Only applies to Ticket Types with kind other (Additional ticket).
statistics object Sums up the number of Ticket's per status of the Ticket Type. Not included in Get All Ticket Types endpoint.

Get all Ticket Types

curl "https://invitepeople.com/api/v2/events/1/ticket_types" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

[
  {
    "id": 1,
    "description": {
      "sv": "Mattis Purus",
      "en": "Sollicitudin Ullamcorper"
    },
    "created_at": "2021-04-06T07:37:21.996+02:00",
    "updated_at": "2021-04-06T07:37:22.064+02:00",
    "kind": "entrance"
  },
  {
    "id": 2,
    "description": {
      "sv": "Ridiculus Venenatis Fusce",
      "en": "Ridiculus Venenatis Fusce"
    },
    "created_at": "2021-04-06T08:51:21.996+02:00",
    "updated_at": "2021-04-06T08:51:22.064+02:00",
    "kind": null,
    "external_id": "214322",
    "price": "123.45",
    "selling_start_time": "2021-04-06T07:37:21.996+02:00",
    "selling_end_time": "2021-04-07T07:37:21.996+02:00",
    "min_purchase_amount": 0,
    "max_purchase_amount": 5,
    "amount": 500,
    "vat_percentage": "25.0",
    "visibility": "Public",
    "caption":  {
      "sv": "Captionus Astartes",
      "en": "Captionus Astartes"
    },
    "personal_addon": false,
    "seminar": {
      "id": 1,
      "slug": "ee74234991fe",
      "name": "Ridiculus Venenatis Fusce",
      "location": "Condimentum Inceptos",
      "start_time": "2018-10-11T14:05:00.000+02:00",
      "end_time": "2018-10-11T14:30:00.000+02:00",
      "code": "001"
    }
  },
  {
    "id": 3,
    "description": {
      "sv": "Ullamcorper Sit Tellus",
      "en": "Ullamcorper Sit Tellus"
    },
    "created_at": "2021-04-09T10:30:01.996+02:00",
    "updated_at": "2021-04-09T10:30:01.064+02:00",
    "kind": null,
    "external_id": "214323",
    "price": "110.15",
    "selling_start_time": "2021-04-06T07:37:21.996+02:00",
    "selling_end_time": "2021-04-07T07:37:21.996+02:00",
    "min_purchase_amount": 0,
    "max_purchase_amount": 5,
    "amount": 250,
    "vat_percentage": "25.0",
    "visibility": "Public",
    "caption": {
      "sv": "Captionus Astartes",
      "en": "Captionus Astartes"
    },
    "personal_addon": false,
    "seminar": {
      "id": 2,
      "slug": "fe741fc771dd",
      "name": "Ullamcorper Sit Tellus",
      "location": "Mattis Pellentesque",
      "start_time": "2018-10-11T15:35:00.000+02:00",
      "end_time": "2018-10-11T16:00:00.000+02:00",
      "code": "002"
    }
  }
]

Use this endpoint to retrieve all Ticket Types for an Event.

HTTP Request

GET https://invitepeople.com/api/v2/events/<EVENT_ID>/ticket_types

URL Parameters

Parameter Description
EVENT_ID required The ID of the Event.

Query Parameters

Property Type Description
limit optional integer The max number of records retrieved. Defaults to 1000, which is the max number of records in a single request.
id_before optional integer Get all records with a lower id.
updated_after optional string Get all records that have been updated after some point in time. Should be a time string in ISO 8601 format.

Read more about filters and pagination here

Get a specific Ticket Type

curl "https://invitepeople.com/api/v2/ticket_types/1" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

{
  "id": 1,
  "description": {
    "sv": "Mattis Purus",
    "en": "Sollicitudin Ullamcorper"
  },
  "created_at": "2021-04-06T07:37:21.996+02:00",
  "updated_at": "2021-04-06T07:37:22.064+02:00",
  "kind": "entrance",
  "external_id": "214322",
  "price": "123.45",
  "selling_start_time": "2021-04-06T07:37:21.996+02:00",
  "selling_end_time": "2021-04-07T07:37:21.996+02:00",
  "min_purchase_amount": 0,
  "max_purchase_amount": 5,
  "amount": 500,
  "vat_percentage": "25.0",
  "visibility": "Public",
  "caption": {
    "sv": "Captionus Astartes",
    "en": "Captionus Astartes"
  },
  "personal_addon": false,
  "statistics": {
    "Paid": 154,
    "Reserved": 11
  }
}

Use this endpoint to retrieve a specific Ticket Type.

HTTP Request

GET https://invitepeople.com/api/v2/ticket_types/<ID>

URL Parameters

Parameter Description
ID required The ID of the Ticket Type.

Partner Codes

Partner Code

The Partner Code object represents a promo code for an Event. A Partner Code connects to Ticket Types through the Partner Code Ticket Type object.

Properties

Property Type Description
code string The code of the Partner Code.
header string The header of the Partner Code. An object with the Event's language codes as keys and the translated headers as values.
description string The description of the Partner Code. An object with the Event's language codes as keys and the translated descriptions as values.
ticket_header string The headline for the ticket section of the Partner Code. An object with the Event's language codes as keys and the translated ticket headers as values.
show_regular_price boolean Indicates if regular prices are shown on the promo code page.
include_eventsite_description boolean Indicates if the eventsite description is shown on the promo code page.
invited_only boolean Indicates if only invited participants are allowed to register.
force_min_purchase_amount boolean Indicates if buyers are forced to select the minimum allowed amount of tickets.
max_sold_tickets_limit integer The total allowed number of tickets.

Get all Partner Codes

curl "https://invitepeople.com/api/v2/events/1/partner_codes" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

[
  {
    "code" : "promo4561",
    "created_at" : "2022-08-31T09:14:13.682+02:00",
    "description" : {
        "en" : ""
    },
    "force_min_purchase_amount" : false,
    "header" : {
        "en" : ""
    },
    "id" : 1,
    "include_eventsite_description" : false,
    "invited_only" : false,
    "max_sold_tickets_limit" : null,
    "partner_code_ticket_types" : [
      {
        "amount" : null,
        "id" : 1,
        "max_purchase_amount" : 1,
        "max_purchase_amount_per_person" : 1,
        "min_purchase_amount" : 1,
        "price" : "0.0",
        "selling_end_time" : null,
        "selling_start_time" : null,
        "ticket_type" : {
          "description" : {
            "en" : "Coffee"
          },
          "id" : 1,
          "kind" : "addon"
        }
      },
      {
        "amount" : null,
        "id" : 2,
        "max_purchase_amount" : 1,
        "max_purchase_amount_per_person" : 1,
        "min_purchase_amount" : 1,
        "price" : "0.0",
        "selling_end_time" : null,
        "selling_start_time" : null,
        "ticket_type" : {
          "description" : {
            "en" : "Lunch"
          },
          "id" : 2,
          "kind" : "addon"
        }
      }
    ],
    "show_regular_price" : true,
    "ticket_header" : {
        "en" : ""
    },
    "updated_at" : "2024-08-16T10:38:56.441+02:00"
  },
  {
    "code" : "vip37",
    "created_at" : "2022-05-06T15:41:32.383+02:00",
    "description" : {
      "en" : "<p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>"
    },
    "force_min_purchase_amount" : false,
    "header" : {
      "en" : ""
    },
    "id" : 2,
    "include_eventsite_description" : false,
    "invited_only" : true,
    "max_sold_tickets_limit" : 100,
    "partner_code_ticket_types" : [
      {
        "amount" : null,
        "id" : 3,
        "max_purchase_amount" : 1,
        "max_purchase_amount_per_person" : 1,
        "min_purchase_amount" : 1,
        "price" : "0.0",
        "selling_end_time" : null,
        "selling_start_time" : null,
        "ticket_type" : {
          "description" : {
              "en" : "VIP"
          },
          "id" : 3,
          "kind" : "entrance"
        }
      }
    ],
    "show_regular_price" : false,
    "ticket_header" : {
      "en" : ""
    },
    "updated_at" : "2024-05-10T05:43:42.787+02:00"
  }
]

Use this endpoint to retrieve all Partner Codes for an Event.

HTTP Request

GET https://invitepeople.com/api/v2/events/<EVENT_ID>/partner_codes

URL Parameters

Parameter Description
EVENT_ID required The ID of the Event.

Query Parameters

Property Type Description
limit optional integer The max number of records retrieved. Defaults to 1000, which is the max number of records in a single request.
id_before optional integer Get all records with a lower id.
updated_after optional string Get all records that have been updated after some point in time. Should be a time string in ISO 8601 format.

Read more about filters and pagination here

Get a specific Partner Code

curl "https://invitepeople.com/api/v2/partner_codes/1" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

{
  "code" : "promo4561",
  "created_at" : "2022-08-31T09:14:13.682+02:00",
  "description" : {
      "en" : ""
  },
  "force_min_purchase_amount" : false,
  "header" : {
      "en" : ""
  },
  "id" : 1,
  "include_eventsite_description" : false,
  "invited_only" : false,
  "max_sold_tickets_limit" : null,
  "partner_code_ticket_types" : [
    {
      "amount" : null,
      "id" : 1,
      "max_purchase_amount" : 1,
      "max_purchase_amount_per_person" : 1,
      "min_purchase_amount" : 1,
      "price" : "0.0",
      "selling_end_time" : null,
      "selling_start_time" : null,
      "ticket_type" : {
        "description" : {
          "en" : "Coffee"
        },
        "id" : 1,
        "kind" : "addon"
      }
    },
    {
      "amount" : null,
      "id" : 2,
      "max_purchase_amount" : 1,
      "max_purchase_amount_per_person" : 1,
      "min_purchase_amount" : 1,
      "price" : "0.0",
      "selling_end_time" : null,
      "selling_start_time" : null,
      "ticket_type" : {
        "description" : {
          "en" : "Lunch"
        },
        "id" : 2,
        "kind" : "addon"
      }
    }
  ],
  "show_regular_price" : true,
  "ticket_header" : {
      "en" : ""
  },
  "updated_at" : "2024-08-16T10:38:56.441+02:00"
}

Use this endpoint to retrieve a specific Partner Code.

HTTP Request

GET https://invitepeople.com/api/v2/partner_codes/<ID>

URL Parameters

Parameter Description
ID required The ID of the Partner Code.

Profile Fields

Profile Field

The Profile Field object represents a custom field type for an Event.

Properties

Property Type Description
name string A generated name for the Profile Field.
kind string Possible values are text_field, text_area, select, radio_buttons, multi_select, integer, boolean and date_field.
values array The values set up for Profile Fields of kind select, radio_buttons or multi_select.
translated_name object The name of the Profile Field. An object with the Event's language codes as keys and the translated names as values.
statistics object Sums up the number of Profile Field Values per value of the Profile Field. Applicable to Profile Fields of kind select, radio_buttons, multi_select and boolean. Not included in the Get all Profile Fields endpoint.

Get all Profile Fields

curl "https://invitepeople.com/api/v2/events/1/profile_fields" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

[
  {
    "id": 1,
    "name": "fusce-ultricies-vestibulum-fermentum-pharetra-fringilla",
    "kind": "select",
    "values": [
      "Malesuada Sit Quam",
      "Tortor Mattis",
      "Vehicula Tellus Magna"
    ],
    "created_at": "2021-04-09T10:30:01.996+02:00",
    "updated_at": "2021-04-09T10:30:01.064+02:00",
    "translated_name": {
      "sv": "Fusce Ultricies Vestibulum",
      "en": "Fermentum Pharetra Fringilla"
    }
  },
  {
    "id": 2,
    "name": "bibendum-tellus-mollis-fermentum",
    "kind": "text_field",
    "values": [],
    "created_at": "2021-04-06T08:51:21.996+02:00",
    "updated_at": "2021-04-06T08:51:22.064+02:00",
    "translated_name": {
      "sv": "Bibendum Tellus",
      "en": "Mollis Fermentum"
    }
  }
]

Use this endpoint to retrieve all Profile Fields for an Event.

HTTP Request

GET https://invitepeople.com/api/v2/events/<EVENT_ID>/profile_fields

URL Parameters

Parameter Description
EVENT_ID required The ID of the Event.

Query Parameters

Property Type Description
limit optional integer The max number of records retrieved. Defaults to 1000, which is the max number of records in a single request.
id_before optional integer Get all records with a lower id.
updated_after optional string Get all records that have been updated after some point in time. Should be a time string in ISO 8601 format.

Read more about filters and pagination here

Get a specific Profile Field

curl "https://invitepeople.com/api/v2/profile_fields/1" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

{
  "id": 1,
  "name": "fusce-ultricies-vestibulum-fermentum-pharetra-fringilla",
  "kind": "select",
  "values": [
    "Malesuada Sit Quam",
    "Tortor Mattis",
    "Vehicula Tellus Magna"
  ],
  "created_at": "2021-04-09T10:30:01.996+02:00",
  "updated_at": "2021-04-09T10:30:01.064+02:00",
  "translated_name": {
    "sv": "Fusce Ultricies Vestibulum",
    "en": "Fermentum Pharetra Fringilla"
  },
  "statistics": {
    "Malesuada Sit Quam": 100,
    "Tortor Mattis": 50
  }
}

Use this endpoint to retrieve a specific Profile Field.

HTTP Request

GET https://invitepeople.com/api/v2/profile_fields/<ID>

URL Parameters

Parameter Description
ID required The ID of the Profile Field.

Users

User

The User object represents an InvitePeople User.

Properties

Property Type Description
email string The email of the User.
mobile string The mobile phone number of the User in international format, eg. 46700000000.
lang string The language code of the User. Eg. en, de, se, fr, nb.
time_zone string A string representing the time zone of the User, eg. Stockholm.

Get a User

curl "https://invitepeople.com/api/v2/users/1" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

{
  "id": 1,
  "email": "amet@invitepeople.com",
  "lang": "en",
  "time_zone": "Berlin",
  "mobile": "46700000000",
  "participants": [
    {
      "id": 1,
      "created_at": "2018-04-11T14:56:28.719+02:00",
      "updated_at": "2019-09-30T08:46:37.416+02:00",
      "status": "confirmed",
      "visible": true,
      "bookable": true,
      "checked_in": true,
      "external_id": "134",
      "login_link": "https://invitepeople.com/40f010e3-f04a-47be-9531-7857892f557a/login/c599085e-fd53-4a7a-9354-893502bc5f22",
      "profile": {
        "id": 1,
        "address": "Condimentum 1",
        "zip": "000 00",
        "city": "Berlin",
        "country": "DE",
        "phone": "000 - 00 00 00",
        "company_name": "InvitePeople",
        "title": "Vehicula",
        "first_name": "Amet",
        "last_name": "Risus Porta",
        "honorific_title": null,
        "additional_title": null,
        "profile_field_values": [
          {
            "id": 1,
            "value": "Malesuada Sit Quam",
            "profile_field": {
              "id": 1,
              "name": "fusce-ultricies-vestibulum-fermentum-pharetra-fringilla",
              "kind": "select",
              "translated_name": {
                "sv": "Fusce Ultricies Vestibulum",
                "en": "Fermentum Pharetra Fringilla"
              }
            }
          },
          {
            "id": 2,
            "value": "Adipiscing Egestas Sollicitudin Condimentum",
            "profile_field": {
              "id": 2,
              "name": "bibendum-tellus-mollis-fermentum",
              "kind": "text_field",
              "translated_name": {
                "sv": "Bibendum Tellus",
                "en": "Mollis Fermentum"
              }
            }
          }
        ]
      },
      "company": {
        "id": 2,
        "slug": "ef4473f13dfe",
        "name": "InvitePeople"
      },
      "tickets": [
        {
          "id": 1,
          "created_at": "2018-05-29T10:37:15.653+02:00",
          "updated_at": "2018-05-30T22:00:01.960+02:00",
          "status": "Paid",
          "checked_in": true,
          "code": "00000001",
          "partner_code_id": null,
          "paid_price": "0.0",
          "vat": "0.0",
          "external_id": null,
          "order": {
            "id": 1,
            "created_at": "2018-05-29T10:37:15.653+02:00",
            "updated_at": "2018-05-30T22:00:01.960+02:00",
            "status": "paid",
            "payment_method": null,
            "invoice_fee": null,
            "invoice_fee_vat": null,
            "reversed_vat": false,
            "vat": "0.0",
            "sum": "0.0",
            "currency": "SEK",
            "utm_params": {
              "utm_campaign": "Campaign",
              "utm_medium": "email",
              "utm_source": "email_sendout"
            }
          },
          "ticket_type": {
            "id": 1,
            "description": {
              "sv": "Mattis Purus",
              "en": "Sollicitudin Ullamcorper"
              },
            "kind": "entrance"
          }
        },
        {
          "id": 2,
          "created_at": "2018-08-21T16:10:23.969+02:00",
          "updated_at": "2018-10-11T14:00:16.147+02:00",
          "status": "Paid",
          "checked_in": true,
          "code": "00000002",
          "partner_code_id": null,
          "paid_price": "0.0",
          "vat": "0.0",
          "external_id": null,
          "order": {
            "id": 2,
            "created_at": "2018-08-21T16:10:23.969+02:00",
            "updated_at": "2018-10-11T14:00:16.147+02:00",
            "status": "paid",
            "payment_method": null,
            "invoice_fee": null,
            "invoice_fee_vat": null,
            "reversed_vat": false,
            "vat": "0.0",
            "sum": "0.0",
            "currency": "SEK",
            "utm_params": {
              "utm_campaign": "Campaign",
              "utm_medium": "email",
              "utm_source": "email_sendout"
            }
          },
          "ticket_type": {
            "id": 2,
            "description": {
              "sv": "Ridiculus Venenatis Fusce",
              "en": "Ridiculus Venenatis Fusce"
            },
            "kind": null,
            "seminar": {
              "id": 1,
              "slug": "ee74234991fe",
              "name": "Ridiculus Venenatis Fusce",
              "location": "Condimentum Inceptos",
              "start_time": "2018-10-11T14:05:00.000+02:00",
              "end_time": "2018-10-11T14:30:00.000+02:00",
              "code": "001"
            }
          }
        },
        {
          "id": 3,
          "created_at": "2018-08-21T16:17:40.098+02:00",
          "updated_at": "2018-10-11T15:36:33.921+02:00",
          "status": "Paid",
          "checked_in": false,
          "code": "00000003",
          "partner_code_id": 1,
          "paid_price": "0.0",
          "vat": "0.0",
          "external_id": null,
          "order": {
            "id": 3,
            "created_at": "2018-08-21T16:17:40.098+02:00",
            "updated_at": "2018-10-11T15:36:33.921+02:00",
            "status": "paid",
            "payment_method": null,
            "invoice_fee": null,
            "invoice_fee_vat": null,
            "reversed_vat": false,
            "vat": "0.0",
            "sum": "0.0",
            "currency": "SEK",
            "utm_params": {
              "utm_campaign": "Campaign",
              "utm_medium": "email",
              "utm_source": "email_sendout"
            }
          },
          "ticket_type": {
            "id": 3,
            "description": {
              "sv": "Ullamcorper Sit Tellus",
              "en": "Ullamcorper Sit Tellus"
            },
            "kind": null,
            "seminar": {
              "id": 2,
              "slug": "fe741fc771dd",
              "name": "Ullamcorper Sit Tellus",
              "location": "Mattis Pellentesque",
              "start_time": "2018-10-11T15:35:00.000+02:00",
              "end_time": "2018-10-11T16:00:00.000+02:00",
              "code": "002"
            }
          }
        }
      ],
      "event": {
        "id": 1,
        "slug": "ff361767ffe2",
        "name": "Sollicitudin Lorem",
        "created_at": "2017-11-20T13:55:42.425+01:00",
        "updated_at": "2018-02-14T13:15:36.789+01:00",
        "country": "SE",
        "address": "Lorem Dolor 36",
        "zip": "123 45",
        "city": "Sollicitudin",
        "place": "Condimentum Vulputate",
        "description": {
          "sv": "<p>Maecenas faucibus mollis interdum. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>",
          "en": "<p>Curabitur blandit tempus porttitor. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.</p>"
        },
        "start_time": "2017-05-31T00:00:00.000+02:00",
        "statistics": {
          "participants": {
            "admin_disabled": 10,
            "confirmed": 1235,
            "new": 567
          }
        },
        "end_time": "2017-06-02T23:59:00.000+02:00",
        "lang": "sv",
        "organizer": {
          "id": 1,
          "name": "Magna",
          "description": {
            "sv": "Vulputate Elit Cras Tristique Quam",
            "en": "Nibh Sollicitudin Egestas Risus Bibendum"
          },
          "email": "sollicitudin@invitepeople.com",
          "website": "https://invitepeople.com/sollicitudin/"
        },
        "custom_event_fields_data" : {
          "ut_enim_ad": "Qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non."
          "nemo_enim_ipsam": "Laudantium",
        },
        "data_minimization_status" : null,
        "department" : {
          "id": 1,
          "external_id": null,
          "name": "Perspiciatis"
        },
        "event_template" : {
          "id": 1,
          "name": "Voluptas nulla"
        },
        "event_images" : [
          {
            "kind": "share_image",
            "url": "http://storage.invitepeople.com/000/000/share_image.png"
          }
        ]
      }
    }
  ]
}

Use this endpoint to retrieve a specific User, having Participants for Events within the Organization.

Call with either User ID or email.

HTTP Request

GET https://invitepeople.com/api/v2/users/<ID>
GET https://invitepeople.com/api/v2/users/<EMAIL>

URL Parameters

Parameter Description
ID mutually exclusive The ID of the User.
EMAIL mutually exclusive The email address of the User.

Participants

Participant

The Participant object represents a User's connection to an Event.

Properties

Property Type Description
status string Possible values are confirmed, admin_disabled, and destroyed. A destroyed Participant has been completely removed from the Event.
visible boolean Will return true if the Participant is visible in the participant list.
bookable boolean Will return true if the Participant is bookable for meetings and available for messages.
checked_in boolean Will return true if the Participant has any checked in tickets.
external_id string An external ID from another system.
login_link string A link that can be sent to the participant letting them log in automatically, without choosing a password.

Create a Participant

curl "https://invitepeople.com/api/v2/events/1/participants" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ 
        "user": {
          "email": "pharetra@invitepeople.com"
        },
        "profile": {
          "first_name": "Pharetra", 
          "last_name": "Quam"
        }
      }'

The above command returns JSON structured like this:

{
  "id": 3,
  "created_at": "2021-04-06T07:37:21.996+02:00",
  "updated_at": "2021-04-06T07:37:22.064+02:00",
  "status": "confirmed",
  "visible": true,
  "bookable": true,
  "checked_in": false,
  "external_id": "123",
  "login_link": "https://invitepeople.com/40f010e3-f04a-47af-9531-7857892f557a/login/c599085e-fd53-4a7a-9354-893502bc5f22",
  "user": {
    "id": 3,
    "email": "pharetra@invitepeople.com",
    "lang": "en",
    "time_zone": "Stockholm",
    "mobile": null
  },
  "profile": {
    "id": 3,
    "company_name": null,
    "title": null,
    "address": null,
    "zip": null,
    "city": null,
    "phone": null,
    "first_name": "Pharetra",
    "last_name": "Quam",
    "country": "SE",
    "honorific_title": null,
    "additional_title": null,
    "profile_field_values": []
  },
  "tickets": []
}

If an error occurs, it returns JSON structured like this:

{
    "error": "participant already exists"
}

Use this endpoint to create a Participant for an Event.

HTTP Request

POST https://invitepeople.com/api/v2/events/<EVENT_ID>/participants
Content-Type: application/json

URL Parameters

Parameter Description
EVENT_ID required The ID of the Event.

Parameters

Parameter Type Description
user required object The User for the new Participant.
profile optional object The Profile for the new Participant.
external_id optional string Any string identifying the participant in an external system.
visible optional boolean Set to false if the Participant should not be visible in the participant list. Defaults to true.
bookable optional boolean Set to false if the Participant should not be bookable for meetings or available for messages. Defaults to true.

User Parameters

Parameter Type Description
email required string The email address for the User.
mobile optional string The mobile phone number for the User. The mobile phone number should be in international format with a valid country prefix and without any special characters or spaces, for example 4670123456.

Profile Parameters

Parameter Type Description
first_name optional string The first name for the Profile.
last_name optional string The last name for the Profile.
country optional string The country for the Profile. Should be an ISO 3166-1 alpha-2 code.
company_name optional string The company name for the Profile.
title optional string The title for the Profile.
address optional string The postal address for the Profile.
zip optional string The zip code for the Profile.
city optional string The city for the Profile.
phone optional string The phone number for the Profile.

Returns

If successfull it should return the created Participant object.

Errors

Error Description
invalid email The provided email address is invalid.
participant already exists A Participant for this User and Event already exists.
provided external_id already exists External ids must be unique across Events.

Get all Participants

curl "https://invitepeople.com/api/v2/events/1/participants" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

[
  {
    "id": 1,
    "created_at": "2018-04-11T14:56:28.719+02:00",
    "updated_at": "2019-09-30T08:46:37.416+02:00",
    "status": "confirmed",
    "visible": true,
    "bookable": true,
    "checked_in": true,
    "external_id": "123",
    "login_link": "https://invitepeople.com/40f010e3-f04a-47af-9531-7857892f557a/login/c599085e-fd53-4a7a-9354-893502bc5f22",
    "user": {
      "id": 1,
      "email": "amet@invitepeople.com",
      "lang": "en",
      "time_zone": "Berlin",
      "mobile": "46700000000"
    },
    "profile": {
      "id": 1,
      "address": "Condimentum 1",
      "zip": "000 00",
      "city": "Berlin",
      "country": "DE",
      "phone": "000 - 00 00 00",
      "company_name": "InvitePeople",
      "title": "Vehicula",
      "first_name": "Amet",
      "last_name": "Risus Porta",
      "honorific_title": null,
      "additional_title": null,
      "profile_field_values": [
        {
          "id": 1,
          "value": "Malesuada Sit Quam",
          "profile_field": {
            "id": 1,
            "name": "fusce-ultricies-vestibulum-fermentum-pharetra-fringilla",
            "kind": "select",
            "translated_name": {
              "sv": "Fusce Ultricies Vestibulum",
              "en": "Fermentum Pharetra Fringilla"
            }
          }
        },
        {
          "id": 2,
          "value": "Adipiscing Egestas Sollicitudin Condimentum",
          "profile_field": {
            "id": 2,
            "name": "bibendum-tellus-mollis-fermentum",
            "kind": "text_field",
            "translated_name": {
              "sv": "Bibendum Tellus",
              "en": "Mollis Fermentum"
            }
          }
        }
      ]
    },
    "company": {
      "id": 2,
      "slug": "ef4473f13dfe",
      "name": "InvitePeople"
    },
    "tickets": [
      {
        "id": 1,
        "created_at": "2018-05-29T10:37:15.653+02:00",
        "updated_at": "2018-05-30T22:00:01.960+02:00",
        "status": "Paid",
        "checked_in": true,
        "code": "00000001",
        "partner_code_id": null,
        "paid_price": "0.0",
        "vat": "0.0",
        "external_id": null,
        "order": {
          "id": 1,
          "created_at": "2018-05-29T10:37:15.653+02:00",
          "updated_at": "2018-05-30T22:00:01.960+02:00",
          "status": "paid",
          "payment_method": null,
          "invoice_fee": null,
          "invoice_fee_vat": null,
          "reversed_vat": false,
          "vat": "0.0",
          "sum": "0.0",
          "currency": "SEK",
          "utm_params": {
            "utm_campaign": "Campaign",
            "utm_medium": "email",
            "utm_source": "email_sendout"
          }
        },
        "ticket_type": {
          "id": 1,
          "description": {
            "sv": "Mattis Purus",
            "en": "Sollicitudin Ullamcorper"
            },
          "kind": "entrance"
        }
      },
      {
        "id": 2,
        "created_at": "2018-08-21T16:10:23.969+02:00",
        "updated_at": "2018-10-11T14:00:16.147+02:00",
        "status": "Paid",
        "checked_in": true,
        "code": "00000002",
        "partner_code_id": null,
        "paid_price": "0.0",
        "vat": "0.0",
        "external_id": null,
        "order": {
          "id": 2,
          "created_at": "2018-08-21T16:10:23.969+02:00",
          "updated_at": "2018-10-11T14:00:16.147+02:00",
          "status": "paid",
          "payment_method": null,
          "invoice_fee": null,
          "invoice_fee_vat": null,
          "reversed_vat": false,
          "vat": "0.0",
          "sum": "0.0",
          "currency": "SEK",
          "utm_params": {
            "utm_campaign": "Campaign",
            "utm_medium": "email",
            "utm_source": "email_sendout"
          }
        },
        "ticket_type": {
          "id": 2,
          "description": {
            "sv": "Ridiculus Venenatis Fusce",
            "en": "Ridiculus Venenatis Fusce"
          },
          "kind": null,
          "seminar": {
            "id": 1,
            "slug": "ee74234991fe",
            "name": "Ridiculus Venenatis Fusce",
            "location": "Condimentum Inceptos",
            "start_time": "2018-10-11T14:05:00.000+02:00",
            "end_time": "2018-10-11T14:30:00.000+02:00",
            "code": "001"
          }
        }
      },
      {
        "id": 3,
        "created_at": "2018-08-21T16:17:40.098+02:00",
        "updated_at": "2018-10-11T15:36:33.921+02:00",
        "status": "Paid",
        "checked_in": false,
        "code": "00000003",
        "partner_code_id": 1,
        "paid_price": "0.0",
        "vat": "0.0",
        "external_id": null,
        "order": {
          "id": 3,
          "created_at": "2018-08-21T16:17:40.098+02:00",
          "updated_at": "2018-10-11T15:36:33.921+02:00",
          "status": "paid",
          "payment_method": null,
          "invoice_fee": null,
          "invoice_fee_vat": null,
          "reversed_vat": false,
          "vat": "0.0",
          "sum": "0.0",
          "currency": "SEK",
          "utm_params": {
            "utm_campaign": "Campaign",
            "utm_medium": "email",
            "utm_source": "email_sendout"
          }
        },
        "ticket_type": {
          "id": 3,
          "description": {
            "sv": "Ullamcorper Sit Tellus",
            "en": "Ullamcorper Sit Tellus"
          },
          "kind": null,
          "seminar": {
            "id": 2,
            "slug": "fe741fc771dd",
            "name": "Ullamcorper Sit Tellus",
            "location": "Mattis Pellentesque",
            "start_time": "2018-10-11T15:35:00.000+02:00",
            "end_time": "2018-10-11T16:00:00.000+02:00",
            "code": "002"
          }
        }
      }
    ]
  },
  {
    "id": 2,
    "created_at": "2018-04-11T14:56:28.719+02:00",
    "updated_at": "2019-12-08T16:24:56.440+01:00",
    "status": "destroyed",
    "visible": false,
    "bookable": true,
    "checked_in": false,
    "external_id": "134",
    "login_link": "https://invitepeople.com/40f010e3-f04a-47be-9531-7857892f557a/login/c599085e-fd53-4a7a-9354-893502bc5f22",
    "user": {
      "id": 2,
      "email": "adipiscing@invitepeople.com",
      "lang": "sv",
      "time_zone": "Stockholm",
      "mobile": "46700000000"
    }
  }
]

Use this endpoint to retrieve all Participants for an Event.

HTTP Request

GET https://invitepeople.com/api/v2/events/<EVENT_ID>/participants

URL Parameters

Parameter Description
EVENT_ID required The ID of the Event.

Query Parameters

Property Type Description
limit optional integer The max number of records retrieved. Defaults to 1000, which is the max number of records in a single request.
id_before optional integer Get all records with a lower id.
updated_after optional string Get all records that have been updated after some point in time. Should be a time string in ISO 8601 format.

Read more about filters and pagination here

Get a specific Participant

curl "https://invitepeople.com/api/v2/participants/1" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

{
  "id": 1,
  "created_at": "2018-04-11T14:56:28.719+02:00",
  "updated_at": "2019-09-30T08:46:37.416+02:00",
  "status": "confirmed",
  "visible": true,
  "bookable": true,
  "checked_in": true,
  "external_id": "134",
  "login_link": "https://invitepeople.com/40f010e3-f04a-47be-9531-7857892f557a/login/c599085e-fd53-4a7a-9354-893502bc5f22",
  "user": {
    "id": 1,
    "email": "amet@invitepeople.com",
    "lang": "en",
    "time_zone": "Berlin",
    "mobile": "46700000000"
  },
  "profile": {
    "id": 1,
    "address": "Condimentum 1",
    "zip": "000 00",
    "city": "Berlin",
    "country": "DE",
    "phone": "000 - 00 00 00",
    "company_name": "InvitePeople",
    "title": "Vehicula",
    "first_name": "Amet",
    "last_name": "Risus Porta",
    "honorific_title": null,
    "additional_title": null,
    "profile_field_values": [
      {
        "id": 1,
        "value": "Malesuada Sit Quam",
        "profile_field": {
          "id": 1,
          "name": "fusce-ultricies-vestibulum-fermentum-pharetra-fringilla",
          "kind": "select",
          "translated_name": {
            "sv": "Fusce Ultricies Vestibulum",
            "en": "Fermentum Pharetra Fringilla"
          }
        }
      },
      {
        "id": 2,
        "value": "Adipiscing Egestas Sollicitudin Condimentum",
        "profile_field": {
          "id": 2,
          "name": "bibendum-tellus-mollis-fermentum",
          "kind": "text_field",
          "translated_name": {
            "sv": "Bibendum Tellus",
            "en": "Mollis Fermentum"
          }
        }
      }
    ]
  },
  "company": {
    "id": 2,
    "slug": "ef4473f13dfe",
    "name": "InvitePeople"
  },
  "tickets": [
    {
      "id": 1,
      "created_at": "2018-05-29T10:37:15.653+02:00",
      "updated_at": "2018-05-30T22:00:01.960+02:00",
      "status": "Paid",
      "checked_in": true,
      "code": "00000001",
      "partner_code_id": null,
      "paid_price": "0.0",
      "vat": "0.0",
      "external_id": null,
      "order": {
        "id": 1,
        "created_at": "2018-05-29T10:37:15.653+02:00",
        "updated_at": "2018-05-30T22:00:01.960+02:00",
        "status": "paid",
        "payment_method": null,
        "invoice_fee": null,
        "invoice_fee_vat": null,
        "reversed_vat": false,
        "vat": "0.0",
        "sum": "0.0",
        "currency": "SEK",
        "utm_params": {
          "utm_campaign": "Campaign",
          "utm_medium": "email",
          "utm_source": "email_sendout"
        }
      },
      "ticket_type": {
        "id": 1,
        "description": {
          "sv": "Mattis Purus",
          "en": "Sollicitudin Ullamcorper"
          },
        "kind": "entrance"
      }
    },
    {
      "id": 2,
      "created_at": "2018-08-21T16:10:23.969+02:00",
      "updated_at": "2018-10-11T14:00:16.147+02:00",
      "status": "Paid",
      "checked_in": true,
      "code": "00000002",
      "partner_code_id": null,
      "paid_price": "0.0",
      "vat": "0.0",
      "external_id": null,
      "order": {
        "id": 2,
        "created_at": "2018-08-21T16:10:23.969+02:00",
        "updated_at": "2018-10-11T14:00:16.147+02:00",
        "status": "paid",
        "payment_method": null,
        "invoice_fee": null,
        "invoice_fee_vat": null,
        "reversed_vat": false,
        "vat": "0.0",
        "sum": "0.0",
        "currency": "SEK",
        "utm_params": {
          "utm_campaign": "Campaign",
          "utm_medium": "email",
          "utm_source": "email_sendout"
        }
      },
      "ticket_type": {
        "id": 2,
        "description": {
          "sv": "Ridiculus Venenatis Fusce",
          "en": "Ridiculus Venenatis Fusce"
        },
        "kind": null,
        "seminar": {
          "id": 1,
          "slug": "ee74234991fe",
          "name": "Ridiculus Venenatis Fusce",
          "location": "Condimentum Inceptos",
          "start_time": "2018-10-11T14:05:00.000+02:00",
          "end_time": "2018-10-11T14:30:00.000+02:00",
          "code": "001"
        }
      }
    },
    {
      "id": 3,
      "created_at": "2018-08-21T16:17:40.098+02:00",
      "updated_at": "2018-10-11T15:36:33.921+02:00",
      "status": "Paid",
      "checked_in": false,
      "code": "00000003",
      "partner_code_id": 1,
      "paid_price": "0.0",
      "vat": "0.0",
      "external_id": null,
      "order": {
        "id": 3,
        "created_at": "2018-08-21T16:17:40.098+02:00",
        "updated_at": "2018-10-11T15:36:33.921+02:00",
        "status": "paid",
        "payment_method": null,
        "invoice_fee": null,
        "invoice_fee_vat": null,
        "reversed_vat": false,
        "vat": "0.0",
        "sum": "0.0",
        "currency": "SEK",
        "utm_params": {
          "utm_campaign": "Campaign",
          "utm_medium": "email",
          "utm_source": "email_sendout"
        }
      },
      "ticket_type": {
        "id": 3,
        "description": {
          "sv": "Ullamcorper Sit Tellus",
          "en": "Ullamcorper Sit Tellus"
        },
        "kind": null,
        "seminar": {
          "id": 2,
          "slug": "fe741fc771dd",
          "name": "Ullamcorper Sit Tellus",
          "location": "Mattis Pellentesque",
          "start_time": "2018-10-11T15:35:00.000+02:00",
          "end_time": "2018-10-11T16:00:00.000+02:00",
          "code": "002"
        }
      }
    }
  ]
}

Use this endpoint to retrieve a specific Participant.

HTTP Request

GET https://invitepeople.com/api/v2/participants/<ID>

URL Parameters

Parameter Description
ID required The ID of the Participant.

Update a Participant

curl "https://invitepeople.com/api/v2/participants/1" \
  -X PATCH \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
        visible: false,
        bookable: false,
        status: "confirmed",
        profile: {
          first_name: "Steven",
          last_name: "Jones",
          zip: 12472,
          city: "CityVille",
          address: "Streetstreet",
          country: "CH"
        }
      }'

The above command returns JSON structured like this:

{
  "id": 1,
  "created_at": "2018-04-11T14:56:28.719+02:00",
  "updated_at": "2019-09-30T08:46:37.416+02:00",
  "status": "confirmed",
  "visible": false,
  "bookable": false,
  "checked_in": true,
  "external_id": "134",
  "login_link": "https://invitepeople.com/40f010e3-f04a-47be-9531-7857892f557a/login/c599085e-fd53-4a7a-9354-893502bc5f22",
  "user": {
    "id": 1,
    "email": "amet@invitepeople.com",
    "lang": "en",
    "time_zone": "Berlin",
    "mobile": "46700000000"
  },
  "profile": {
    "id": 1,
    "address": "Condimentum 1",
    "zip": "000 00",
    "city": "Berlin",
    "country": "DE",
    "phone": "000 - 00 00 00",
    "company_name": "InvitePeople",
    "title": "Vehicula",
    "first_name": "Steven",
    "last_name": "Jones",
    "honorific_title": null,
    "additional_title": null,
    "profile_field_values": [
      {
        "id": 1,
        "value": "Malesuada Sit Quam",
        "profile_field": {
          "id": 1,
          "name": "fusce-ultricies-vestibulum-fermentum-pharetra-fringilla",
          "kind": "select",
          "translated_name": {
            "sv": "Fusce Ultricies Vestibulum",
            "en": "Fermentum Pharetra Fringilla"
          }
        }
      },
      {
        "id": 2,
        "value": "Adipiscing Egestas Sollicitudin Condimentum",
        "profile_field": {
          "id": 2,
          "name": "bibendum-tellus-mollis-fermentum",
          "kind": "text_field",
          "translated_name": {
            "sv": "Bibendum Tellus",
            "en": "Mollis Fermentum"
          }
        }
      }
    ]
  },
  "company": {
    "id": 2,
    "slug": "ef4473f13dfe",
    "name": "New Company Name"
  },
  "tickets": [
    {
      "id": 1,
      "created_at": "2018-05-29T10:37:15.653+02:00",
      "updated_at": "2018-05-30T22:00:01.960+02:00",
      "status": "Paid",
      "checked_in": true,
      "code": "00000001",
      "partner_code_id": null,
      "paid_price": "0.0",
      "vat": "0.0",
      "external_id": null,
      "order": {
        "id": 1,
        "created_at": "2018-05-29T10:37:15.653+02:00",
        "updated_at": "2018-05-30T22:00:01.960+02:00",
        "status": "paid",
        "payment_method": null,
        "invoice_fee": null,
        "invoice_fee_vat": null,
        "reversed_vat": false,
        "vat": "0.0",
        "sum": "0.0",
        "currency": "SEK",
        "utm_params": {
          "utm_campaign": "Campaign",
          "utm_medium": "email",
          "utm_source": "email_sendout"
        }
      },
      "ticket_type": {
        "id": 1,
        "description": {
          "sv": "Mattis Purus",
          "en": "Sollicitudin Ullamcorper"
          },
        "kind": "entrance"
      }
    },
    {
      "id": 2,
      "created_at": "2018-08-21T16:10:23.969+02:00",
      "updated_at": "2018-10-11T14:00:16.147+02:00",
      "status": "Paid",
      "checked_in": true,
      "code": "00000002",
      "partner_code_id": null,
      "paid_price": "0.0",
      "vat": "0.0",
      "external_id": null,
      "order": {
        "id": 2,
        "created_at": "2018-08-21T16:10:23.969+02:00",
        "updated_at": "2018-10-11T14:00:16.147+02:00",
        "status": "paid",
        "payment_method": null,
        "invoice_fee": null,
        "invoice_fee_vat": null,
        "reversed_vat": false,
        "vat": "0.0",
        "sum": "0.0",
        "currency": "SEK",
        "utm_params": {
          "utm_campaign": "Campaign",
          "utm_medium": "email",
          "utm_source": "email_sendout"
        }
      },
      "ticket_type": {
        "id": 2,
        "description": {
          "sv": "Ridiculus Venenatis Fusce",
          "en": "Ridiculus Venenatis Fusce"
        },
        "kind": null,
        "seminar": {
          "id": 1,
          "slug": "ee74234991fe",
          "name": "Ridiculus Venenatis Fusce",
          "location": "Condimentum Inceptos",
          "start_time": "2018-10-11T14:05:00.000+02:00",
          "end_time": "2018-10-11T14:30:00.000+02:00",
          "code": "001"
        }
      }
    },
    {
      "id": 3,
      "created_at": "2018-08-21T16:17:40.098+02:00",
      "updated_at": "2018-10-11T15:36:33.921+02:00",
      "status": "Paid",
      "checked_in": false,
      "code": "00000003",
      "partner_code_id": 1,
      "paid_price": "0.0",
      "vat": "0.0",
      "external_id": null,
      "order": {
        "id": 3,
        "created_at": "2018-08-21T16:17:40.098+02:00",
        "updated_at": "2018-10-11T15:36:33.921+02:00",
        "status": "paid",
        "payment_method": null,
        "invoice_fee": null,
        "invoice_fee_vat": null,
        "reversed_vat": false,
        "vat": "0.0",
        "sum": "0.0",
        "currency": "SEK",
        "utm_params": {
          "utm_campaign": "Campaign",
          "utm_medium": "email",
          "utm_source": "email_sendout"
        }
      },
      "ticket_type": {
        "id": 3,
        "description": {
          "sv": "Ullamcorper Sit Tellus",
          "en": "Ullamcorper Sit Tellus"
        },
        "kind": null,
        "seminar": {
          "id": 2,
          "slug": "fe741fc771dd",
          "name": "Ullamcorper Sit Tellus",
          "location": "Mattis Pellentesque",
          "start_time": "2018-10-11T15:35:00.000+02:00",
          "end_time": "2018-10-11T16:00:00.000+02:00",
          "code": "002"
        }
      }
    }
  ]
}

If an error occurs, it returns JSON structured like this:

{
    "error": "invalid status provided"
}

Use this endpoint to update a Participant.

HTTP Request

PATCH https://invitepeople.com/api/v2/participants/<ID>

URL Parameters

Parameter Description
ID required The ID of the Participant.

Parameters

Parameter Type Description
external_id optional string Any string identifying the participant in an external system.
visible optional boolean Set to false if the Participant should not be visible in the participant list. Defaults to true.
bookable optional boolean Set to false if the Participant should not be bookable for meetings or available for messages. Defaults to true.
status optional string A string indicating status of the Participant. Valid values are confirmed and admin_disabled.
profile optional object Object containing changes to be made on the profile.

Profile Parameters

Parameter Type Description
first_name optional string The first name for the Profile.
last_name optional string The last name for the Profile.
country optional string The country for the Profile. Should be an ISO 3166-1 alpha-2 code.
company_name optional string The company name for the Profile.
title optional string The title for the Profile.
address optional string The postal address for the Profile.
zip optional string The zip code for the Profile.
city optional string The city for the Profile.
phone optional string The phone number for the Profile.

Returns

If successful the updated Participant object is returned

Errors

Error Description
provided external_id already exists External ids must be unique across Events.
invalid status provided The status value is not valid.
could not update participant An internal error occured.

Companies

Company

The Company object represents a company for an Event. A Company connects to Participants through the Employee object.

Properties

Property Type Description
slug string The URL slug of the Company.
name string The name of the Company.
kind string Possible values are Exhibitor, Partner, Sponsor, MainSponsor, and Poster.
external_id string An external ID from another system.
location string The location or booth of the Company.
visible_in_community boolean Indicates if the Company is visible in the companies list.
scanning boolean Indicates if the Company has Lead scanning enabled for representatives.
max_employee_amount integer The maximum number of Employees allowed for the Company. A null value indicates an unlimited number of Employees allowed.
monitor_visitors boolean Indicates if the Company has visitor monitoring for enabled for representatives.

Get all Companies

curl "https://invitepeople.com/api/v2/events/1/companies" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

[
  {
    "created_at" : "2024-04-17T11:37:41.649+02:00",
    "employees" : [
      {
        "id" : 1,
        "participant_id" : 1,
        "role" : "Administrator",
        "status" : "Accepted"
      },
      {
        "id" : 2,
        "participant_id" : 2,
        "role" : "Employee",
        "status" : "Accepted"
      }
    ],
    "external_id" : null,
    "id" : 1,
    "slug" : "dc4498f1dffe",
    "kind" : "Exhibitor",
    "location" : "A1:1",
    "max_employee_amount" : 10,
    "monitor_visitors" : false,
    "name" : "InvitePeople",
    "profile" : {
      "address" : "",
      "address2" : "",
      "city" : "Stockholm",
      "country" : "SE",
      "email" : "loremipsum@invitepeople.com",
      "id" : 1,
      "phone" : "",
      "presentation" : "Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.",
      "profile_field_values" : [
        {
          "id" : 1,
          "profile_field" : {
            "id" : 1,
            "kind" : "text_field",
            "name" : "index",
            "translated_name" : {
              "en" : "Vehicula"
            }
          },
          "value" : "Nullam id dolor id nibh ultricies."
        }
      ],
      "region" : "",
      "url" : "https://invitepeople.com",
      "zip" : "12345"
    },
    "scanning" : true,
    "updated_at" : "2024-07-01T17:38:01.039+02:00",
    "visible_in_community" : true
  },
  {
    "created_at" : "2024-04-18T12:19:47.436+02:00",
    "employees" : [
      {
        "id" : 3,
        "participant_id" : 3,
        "role" : "Administrator",
        "status" : "Accepted"
      }
    ],
    "external_id" : null,
    "id" : 2,
    "slug" : "ef4473f13dfe",
    "kind" : "Partner",
    "location" : "",
    "max_employee_amount" : null,
    "monitor_visitors" : false,
    "name" : "Tempus Porttitor",
    "profile" : {
      "address" : "",
      "address2" : "",
      "city" : "Stockholm",
      "country" : "SE",
      "email" : "tempusporttitor@invitepeople.com",
      "id" : 2,
      "phone" : "",
      "presentation" : "Urabitur blandit tempus porttitor.",
      "profile_field_values" : [],
      "region" : "",
      "url" : "",
      "zip" : ""
    },
    "scanning" : false,
    "updated_at" : "2024-04-20T17:14:30.311+02:00",
    "visible_in_community" : false
  }
]

Use this endpoint to retrieve all Companies for an Event.

HTTP Request

GET https://invitepeople.com/api/v2/events/<EVENT_ID>/companies

URL Parameters

Parameter Description
EVENT_ID required The ID of the Event.

Query Parameters

Property Type Description
limit optional integer The max number of records retrieved. Defaults to 1000, which is the max number of records in a single request.
id_before optional integer Get all records with a lower id.
updated_after optional string Get all records that have been updated after some point in time. Should be a time string in ISO 8601 format.

Read more about filters and pagination here

Get a specific Company

curl "https://invitepeople.com/api/v2/companies/1" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

{
  "created_at" : "2024-04-17T11:37:41.649+02:00",
  "employees" : [
    {
      "id" : 1,
      "participant_id" : 1,
      "role" : "Administrator",
      "status" : "Accepted"
    },
    {
      "id" : 2,
      "participant_id" : 2,
      "role" : "Employee",
      "status" : "Accepted"
    }
  ],
  "external_id" : null,
  "id" : 1,
  "slug" : "dc4498f1dffe",
  "kind" : "Exhibitor",
  "location" : "A1:1",
  "max_employee_amount" : 10,
  "monitor_visitors" : false,
  "name" : "InvitePeople",
  "profile" : {
    "address" : "",
    "address2" : "",
    "city" : "Stockholm",
    "country" : "SE",
    "email" : "loremipsum@invitepeople.com",
    "id" : 1,
    "phone" : "",
    "presentation" : "Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.",
    "profile_field_values" : [
      {
        "id" : 1,
        "profile_field" : {
          "id" : 1,
          "kind" : "text_field",
          "name" : "index",
          "translated_name" : {
            "en" : "Vehicula"
          }
        },
        "value" : "Nullam id dolor id nibh ultricies."
      }
    ],
    "region" : "",
    "url" : "https://invitepeople.com",
    "zip" : "12345"
  },
  "scanning" : true,
  "updated_at" : "2024-07-01T17:38:01.039+02:00",
  "visible_in_community" : true
}

Use this endpoint to retrieve a specific Company.

HTTP Request

GET https://invitepeople.com/api/v2/companies/<ID>

URL Parameters

Parameter Description
ID required The ID of the Company.

Tickets

Ticket

The Ticket object represents a ticket belonging to a Participant. The ticket can provide access to the entire event or individual seminars.

Properties

Property Type Description
status string Possible values are Paid and Reserved.
checked_in boolean Will return true if the Participant has checked in with the Ticket.
code string A generated 8 digit unique code.
paid_price string The price paid for the Ticket in the Event's currency. The value is formatted as a decimal number.
vat string The VAT paid for the Ticket in the Event's currency. The value is formatted as a decimal number.
external_id string An external ID from another system.
partner_code_id string Reference to any Partner Code.

Create a Ticket

curl "https://invitepeople.com/api/v2/participants/1/tickets" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "ticket_type_id": 1 }'

The above command returns JSON structured like this:

{
  "id": 1,
  "created_at": "2018-05-29T10:37:15.653+02:00",
  "updated_at": "2018-05-30T22:00:01.960+02:00",
  "status": "Paid",
  "checked_in": true,
  "code": "00000001",
  "partner_code_id": null,
  "paid_price": "0.0",
  "vat": "0.0",
  "participant_id": 1,
  "external_id": null,
  "order": {
    "id": 1,
    "created_at": "2018-05-29T10:37:15.653+02:00",
    "updated_at": "2018-05-30T22:00:01.960+02:00",
    "status": "paid",
    "payment_method": null,
    "invoice_fee": null,
    "invoice_fee_vat": null,
    "reversed_vat": false,
    "vat": "0.0",
    "sum": "0.0",
    "currency": "SEK",
    "utm_params": {
      "utm_campaign": "Campaign",
      "utm_medium": "email",
      "utm_source": "email_sendout"
    }
  },
  "ticket_type": {
    "id": 1,
    "description": {
      "sv": "Mattis Purus",
      "en": "Sollicitudin Ullamcorper"
    },
    "kind": "entrance"
  }
}

If an error occurs, it returns JSON structured like this:

{
  "error": "could not create ticket"
}

Use this endpoint to create a Ticket for a Participant.

HTTP Request

POST https://invitepeople.com/api/v2/participants/<PARTICIPANT_ID>/tickets
Content-Type: application/json

URL Parameters

Parameter Description
PARTICIPANT_ID required The ID of the Participant.

Parameters

Parameter Type Description
ticket_type_id required integer The ID of the Ticket Type for the new Ticket.

Returns

If successfull it should return the created Ticket object.

Errors

Error Description
ticket type not found The provided Ticket Type ID could not be found.
could not create ticket The Ticket could not be created.

Get a Ticket

curl "https://invitepeople.com/api/v2/tickets/1" \
  -X GET \
  -H "Authorization: Bearer $TOKEN" \

The above command returns JSON structured like this:

{
  "id": 1,
  "created_at": "2018-05-29T10:37:15.653+02:00",
  "updated_at": "2018-05-30T22:00:01.960+02:00",
  "status": "Paid",
  "checked_in": true,
  "code": "00000001",
  "partner_code_id": null,
  "paid_price": "0.0",
  "vat": "0.0",
  "participant_id": 1,
  "external_id": null,
  "order": {
    "id": 1,
    "created_at": "2018-05-29T10:37:15.653+02:00",
    "updated_at": "2018-05-30T22:00:01.960+02:00",
    "status": "paid",
    "payment_method": null,
    "invoice_fee": null,
    "invoice_fee_vat": null,
    "reversed_vat": false,
    "vat": "0.0",
    "sum": "0.0",
    "currency": "SEK",
    "utm_params": {
      "utm_campaign": "Campaign",
      "utm_medium": "email",
      "utm_source": "email_sendout"
    }
  },
  "ticket_type": {
    "id": 1,
    "description": {
      "sv": "Mattis Purus",
      "en": "Sollicitudin Ullamcorper"
    },
    "kind": "entrance"
  }
}

Use this endpoint to retrieve a specific Ticket.

HTTP Request

GET https://invitepeople.com/api/v2/tickets/<ID>

URL Parameters

Parameter Description
ID required The ID of the Ticket.

Update a Ticket

curl "https://invitepeople.com/api/v2/tickets/1" \
  -X PATCH \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json"\
  -d '{ "checked_in": true }'

The above command returns JSON structured like this:

{
  "id": 1,
  "created_at": "2018-05-29T10:37:15.653+02:00",
  "updated_at": "2018-05-30T22:00:01.960+02:00",
  "status": "Paid",
  "checked_in": true,
  "code": "00000001",
  "partner_code_id": null,
  "paid_price": "0.0",
  "vat": "0.0",
  "participant_id": 1,
  "external_id": null,
  "order": {
    "id": 1,
    "created_at": "2018-05-29T10:37:15.653+02:00",
    "updated_at": "2018-05-30T22:00:01.960+02:00",
    "status": "paid",
    "payment_method": null,
    "invoice_fee": null,
    "invoice_fee_vat": null,
    "reversed_vat": false,
    "vat": "0.0",
    "sum": "0.0",
    "currency": "SEK",
    "utm_params": {
      "utm_campaign": "Campaign",
      "utm_medium": "email",
      "utm_source": "email_sendout"
    }
  },
  "ticket_type": {
    "id": 1,
    "description": {
      "sv": "Mattis Purus",
      "en": "Sollicitudin Ullamcorper"
    },
    "kind": "entrance"
  }
}

Use this endpoint to update a Ticket.

HTTP Request

PATCH https://invitepeople.com/api/v2/tickets/<ID>
Content-Type: application/json

URL Parameters

Parameter Description
ID required The ID of the Ticket.

Parameters

Parameter Type Description
checked_in boolean Sets the check in status of the Ticket.

Returns

If successfull it should return the updated Ticket object.

Delete a Ticket

curl "https://invitepeople.com/api/v2/tickets/1" \
  -X DELETE \
  -H "Authorization: Bearer $TOKEN" \

The above command returns JSON structured like this:

{
  "id": 1,
  "created_at": "2018-05-29T10:37:15.653+02:00",
  "updated_at": "2018-05-30T22:00:01.960+02:00",
  "status": "Paid",
  "checked_in": true,
  "code": "00000001",
  "partner_code_id": null,
  "paid_price": "0.0",
  "vat": "0.0",
  "participant_id": 1,
  "external_id": null,
  "order": {
    "id": 1,
    "created_at": "2018-05-29T10:37:15.653+02:00",
    "updated_at": "2018-05-30T22:00:01.960+02:00",
    "status": "paid",
    "payment_method": null,
    "invoice_fee": null,
    "invoice_fee_vat": null,
    "reversed_vat": false,
    "vat": "0.0",
    "sum": "0.0",
    "currency": "SEK",
    "utm_params": {
      "utm_campaign": "Campaign",
      "utm_medium": "email",
      "utm_source": "email_sendout"
    }
  },
  "ticket_type": {
    "id": 1,
    "description": {
      "sv": "Mattis Purus",
      "en": "Sollicitudin Ullamcorper"
    },
    "kind": "entrance"
  }
}

If an error occurs, it returns JSON structured like this:

{
  "error": "could not delete ticket"
}

Use this endpoint to delete a free Ticket.

HTTP Request

DELETE https://invitepeople.com/api/v2/tickets/<ID>

URL Parameters

Parameter Description
ID required The ID of the Ticket.

Returns

If successfull it should return the deleted Ticket object.

Errors

Error Description
could not delete ticket The ticket is not free and cannot be deleted.

Ticket Scans

Ticket Scan

The Ticket Scan object represents a specific on-site scan of a Ticket.

Properties

Property Type Description
scan_id string An ID originating from the scanning device.
code string The scanned barcode.
valid_ticket boolean Indicates if the scan was valid or not.
offline_scan boolean Indicates if the scan performed while the device was offline.
scanned_at string The time of the scan in ISO 8601 format.

Get all Ticket Scans

curl "https://invitepeople.com/api/v2/events/1/ticket_scans" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

[
  {
    "code" : "00000001",
    "created_at" : "2024-04-06T16:55:05.251+02:00",
    "id" : 1,
    "offline_scan" : null,
    "scan_id" : "20CDAC80-AE60-44F2-A004-CDD29860128C:08603254:1712415304.72",
    "scanned_at" : "2024-04-06T16:55:04.720+02:00",
    "ticket" : {
      "checked_in" : true,
      "code" : "00000001",
      "created_at" : "2024-04-06T16:54:59.377+02:00",
      "external_id" : null,
      "id" : 1,
      "order_id" : 1,
      "paid_price" : "0.0",
      "participant_id" : 1,
      "partner_code_id" : 1,
      "status" : "Paid",
      "ticket_type_id" : 1,
      "updated_at" : "2024-04-06T16:55:05.217+02:00",
      "vat" : "0.0"
    },
    "updated_at" : "2024-04-06T16:55:05.251+02:00",
    "user" : {
      "email" : "loremipsum@invitepeople.com",
      "id" : 1,
      "lang" : "en",
      "mobile" : "46700000000",
      "time_zone" : "Stockholm"
    },
    "valid_ticket" : true
  },
  {
    "code" : "00000002",
    "created_at" : "2024-04-23T09:49:15.146+02:00",
    "id" : 2,
    "offline_scan" : true,
    "scan_id" : "20CDAC80-AE60-44F2-A004-CDD29860128C:69504485:1712414774.125",
    "scanned_at" : "2024-04-23T08:49:14.000+02:00",
    "ticket" : {
      "checked_in" : true,
      "code" : "00000002",
      "created_at" : "2022-10-14T08:36:12.638+02:00",
      "external_id" : null,
      "id" : 2,
      "order_id" : 2,
      "paid_price" : "1000.0",
      "participant_id" : 2,
      "partner_code_id" : null,
      "status" : "Paid",
      "ticket_type_id" : 1,
      "updated_at" : "2024-04-23T09:49:15.119+02:00",
      "vat" : "200.0"
    },
    "updated_at" : "2024-04-23T09:49:15.146+02:00",
    "user" : {
      "email" : "loremipsum@invitepeople.com",
      "id" : 1,
      "lang" : "en",
      "mobile" : "46700000000",
      "time_zone" : "Stockholm"
    },
    "valid_ticket" : true
  }
]

Use this endpoint to retrieve all Ticket Scans for an Event.

HTTP Request

GET https://invitepeople.com/api/v2/events/<EVENT_ID>/ticket_scans

URL Parameters

Parameter Description
EVENT_ID required The ID of the Event.

Query Parameters

Property Type Description
limit optional integer The max number of records retrieved. Defaults to 1000, which is the max number of records in a single request.
id_before optional integer Get all records with a lower id.
updated_after optional string Get all records that have been updated after some point in time. Should be a time string in ISO 8601 format.

Read more about filters and pagination here

Get a specific Ticket Scan

curl "https://invitepeople.com/api/v2/ticket_scans/1" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

{
  "code" : "00000001",
  "created_at" : "2024-04-06T16:55:05.251+02:00",
  "id" : 1,
  "offline_scan" : null,
  "scan_id" : "20CDAC80-AE60-44F2-A004-CDD29860128C:08603254:1712415304.72",
  "scanned_at" : "2024-04-06T16:55:04.720+02:00",
  "ticket" : {
    "checked_in" : true,
    "code" : "00000001",
    "created_at" : "2024-04-06T16:54:59.377+02:00",
    "external_id" : null,
    "id" : 1,
    "order_id" : 1,
    "paid_price" : "0.0",
    "participant_id" : 1,
    "partner_code_id" : 1,
    "status" : "Paid",
    "ticket_type_id" : 1,
    "updated_at" : "2024-04-06T16:55:05.217+02:00",
    "vat" : "0.0"
  },
  "updated_at" : "2024-04-06T16:55:05.251+02:00",
  "user" : {
    "email" : "loremipsum@invitepeople.com",
    "id" : 1,
    "lang" : "en",
    "mobile" : "46700000000",
    "time_zone" : "Stockholm"
  },
  "valid_ticket" : true
}

Use this endpoint to retrieve a specific Ticket Scan.

HTTP Request

GET https://invitepeople.com/api/v2/ticket_scans/<ID>

URL Parameters

Parameter Description
ID required The ID of the Company.

Profile Field Values

Profile Field Value

The Profile Field Value object represents a custom field value for a Participant.

Properties

Property Type Description
value string The value of the Profile Field Value

Create a Profile Field Value

curl "https://invitepeople.com/api/v2/participants/1/profile_field_values" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "profile_field_id": 1, "value": "Malesuada Sit Quam" }'

The above command returns JSON structured like this:

{
  "id": 1,
  "value": "Malesuada Sit Quam",
  "created_at": "2021-04-06T08:51:21.996+02:00",
  "updated_at": "2021-04-06T08:51:22.064+02:00",
  "profile_field": {
    "id": 1,
    "name": "fusce-ultricies-vestibulum-fermentum-pharetra-fringilla",
    "kind": "select",
    "translated_name": {
      "sv": "Fusce Ultricies Vestibulum",
      "en": "Fermentum Pharetra Fringilla"
    }
  },
  "profile": {
    "id": 1,
    "participant": {
      "id": 1
    }
  }
}

If an error occurs, it returns JSON structured like this:

{
  "error": "incorrect value",
  "possible_values": [
    "Malesuada Sit Quam",
    "Tortor Mattis",
    "Vehicula Tellus Magna"
  ]
}

Use this endpoint to create a Profile Field Value for a Participant.

HTTP Request

POST https://invitepeople.com/api/v2/participants/<PARTICIPANT_ID>/profile_field_values
Content-Type: application/json

URL Parameters

Parameter Description
PARTICIPANT_ID required The ID of the Participant.

Parameters

Parameter Type Description
profile_field_id required integer The ID of the Profile Field for the new Profile Field Value.
value required string The value for the new Profile Field Value.

Returns

If successfull it should return the created Profile Field Value object.

Errors

Error Description
participant not found The provided Participant ID could not be found.
profile field not found The provided Profile Field ID could not be found.
value cannot be empty No value provided.
profile field value already exists A Profile Field Value is already created for this Profile Field and Participant. Profile Fields of kind multi_select may have multiple values per Profile Field.
incorrect value The provided value is not part of the defined values of the Profile Field. Applies to Profile Fields of kind select, radio_buttons, and multi_select. Response should include possible_values with the defined values of the Profile Field.
value is not an integer Applies to Profile Fields of kind integer. The value should be an integer.
value is not a valid date Applies to Profile Fields of kind date_field. The value should be in ISO 8601 format.
profile field value could not be saved The Profile Field Value could not be saved.

Get a Profile Field Value

curl "https://invitepeople.com/api/v2/participants/1/profile_field_values/1" \
  -X GET \
  -H "Authorization: Bearer $TOKEN" \

The above command returns JSON structured like this:

{
  "id": 1,
  "value": "Malesuada Sit Quam",
  "created_at": "2021-04-06T08:51:21.996+02:00",
  "updated_at": "2021-04-06T08:51:22.064+02:00",
  "profile_field": {
    "id": 1,
    "name": "fusce-ultricies-vestibulum-fermentum-pharetra-fringilla",
    "kind": "select",
    "translated_name": {
      "sv": "Fusce Ultricies Vestibulum",
      "en": "Fermentum Pharetra Fringilla"
    }
  },
  "profile": {
    "id": 1,
    "participant": {
      "id": 1
    }
  }
}

Use this endpoint to retrieve a specific Profile Field Value.

The endpoint will return an array of objects for Profile Fields of kind multi_select.

HTTP Request

GET https://invitepeople.com/api/v2/participants/<PARTICIPANT_ID>/profile_field_values/<PROFILE_FIELD_ID>

URL Parameters

Parameter Description
PARTICIPANT_ID required The ID of the Participant.
PROFILE_FIELD_ID required The ID of the Profile Field.

Update a Profile Field Value

curl "https://invitepeople.com/api/v2/participants/1/profile_field_values/1" \
  -X PATCH \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "value": "Malesuada Sit Quam" }'

The above command returns JSON structured like this:

{
  "id": 1,
  "value": "Malesuada Sit Quam",
  "created_at": "2021-04-06T08:51:21.996+02:00",
  "updated_at": "2021-04-06T08:51:22.064+02:00",
  "profile_field": {
    "id": 1,
    "name": "fusce-ultricies-vestibulum-fermentum-pharetra-fringilla",
    "kind": "select",
    "translated_name": {
      "sv": "Fusce Ultricies Vestibulum",
      "en": "Fermentum Pharetra Fringilla"
    }
  },
  "profile": {
    "id": 1,
    "participant": {
      "id": 1
    }
  }
}

If an error occurs, it returns JSON structured like this:

{
  "error": "incorrect value",
  "possible_values": [
    "Malesuada Sit Quam",
    "Tortor Mattis",
    "Vehicula Tellus Magna"
  ]
}

Use this endpoint to update a Profile Field Value for a Participant.

Profile Fields of kind multi_select can not be updated using this endpoint. Use the Create and Delete endpoints to add or remove values.

HTTP Request

PATCH https://invitepeople.com/api/v2/participants/<PARTICIPANT_ID>/profile_field_values/<PROFILE_FIELD_ID>
Content-Type: application/json

URL Parameters

Parameter Description
PARTICIPANT_ID required The ID of the Participant.
PROFILE_FIELD_ID required The ID of the Profile Field.

Parameters

Parameter Type Description
value required string The new value for the Profile Field Value.

Returns

If successfull it should return the updated Profile Field Value object.

Errors

Error Description
participant not found The provided Participant ID could not be found.
profile field not found The provided Profile Field ID could not be found.
profile field value not found The Profile Field Value could not be found.
profile field is multi select The Profile Field is a multi_select, and cannot be updated.
value cannot be empty No value provided.
profile field value already exists A Profile Field Value with the same value is already created for this Profile Field and Participant.
incorrect value The provided value is not part of the defined values of the Profile Field. Applies to Profile Fields of kind select and radio_buttons. Response should include possible_values with the defined values of the Profile Field.
value is not an integer Applies to Profile Fields of kind integer. The value should be an integer.
value is not a valid date Applies to Profile Fields of kind date_field. The value should be in ISO 8601 format.
profile field value could not be saved The Profile Field Value could not be saved.

Delete a Profile Field Value

curl "https://invitepeople.com/api/v2/participants/1/profile_field_values/3" \
  -X DELETE \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

{
  "id": 3,
  "value": "Tortor Matti",
  "created_at": "2021-04-06T08:51:21.996+02:00",
  "updated_at": "2021-04-06T08:51:22.064+02:00",
  "profile_field": {
    "id": 1,
    "name": "fusce-ultricies-vestibulum-fermentum-pharetra-fringilla",
    "kind": "select",
    "translated_name": {
      "sv": "Fusce Ultricies Vestibulum",
      "en": "Fermentum Pharetra Fringilla"
    }
  },
  "profile": {
    "id": 1,
    "participant": {
      "id": 1
    }
  }
}

Use this endpoint to delete a specific Profile Field Value.

HTTP Request

DELETE https://invitepeople.com/api/v2/participants/<PARTICIPANT_ID>/profile_field_values/<PROFILE_FIELD_VALUE_ID>

URL Parameters

Parameter Description
PARTICIPANT_ID required The ID of the Participant.
PROFILE_FIELD_VALUE_ID required The ID of the Profile Field Value.

Returns

If successfull it should return the deleted Profile Field Value object.

Emails

Email

The Email object represents a email sent from InvitePeople.

Properties

Property Type Description
delivered_at string The delivery time of the email in ISO 8601 format.
error string Text explaining errors preventing an email from being delivered.
to string The email address that the email was sent to.

Send an Email

curl "https://invitepeople.com/api/v2/emails" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "ticket_id": 1 }'

The above command returns JSON structured like this:

{
    "id": 1,
    "delivered_at": "2022-04-27T12:07:14.954+05:30",
    "error": null,
    "to": "loremipsum@invitepeople.com",
    "email_events": []
}

If an error occurs, it returns JSON structured like this:

{
    "error": "email could not be sent for ticket"
}

Use this endpoint to send a confirmation Email for a specific Ticket.

HTTP Request

POST https://invitepeople.com/api/v2/emails
Content-Type: application/json

Parameters

Parameter Type Description
ticket_id required integer The ID of the Ticket for which a confirmation email should be sent.

Returns

If successfull it should return the created Ticket object.

Errors

Error Description
email could not be sent for ticket The Ticket is not eligible for a confirmation email. This will for example happen if the Ticket does not have the status paid, or if the Ticket is not related to a Participant.
email could not be created The Email could not be created.

Get a specific Email

curl "https://invitepeople.com/api/v2/emails/1" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

{
    "id": 1,
    "delivered_at": "2021-12-01T14:01:38.231+01:00",
    "error": null,
    "to": "loremipsum@invitepeople.com",
    "email_events": [
        {
            "id": 1,
            "event_type": "delivery",
            "event_at": "2021-12-01T14:01:39.211+01:00"
        },
        {
            "id": 2,
            "event_type": "open",
            "event_at": "2021-12-01T14:01:43.649+01:00"
        }
    ]
}

Use this endpoint to retrieve a specific Email and related Email Events.

HTTP Request

GET https://invitepeople.com/api/v2/emails/<ID>

URL Parameters

Parameter Description
ID required The ID of the Email.

Meetings

Meeting

The Meeting object represents a meeting between Participants of an Event or calendar slots marked as busy for a Participant.

Properties

Property Type Description
visibility string Indicates the visibility of the Meeting. Possible values are Normal (regular meetings), Draft (not yet published meetings), Private (marked as busy calendar slots).
meeting_status string Indicates the status of the Meeting. Possible values are confirmed, waiting_answer, user_removed, cancelled, and draft.
start_time string The start time of the Meeting in ISO 8601 format.
end_time string The end time of the Meeting in ISO 8601 format.
notes string Extra notes added to the Meeting.
group_meeting boolean Indicates if the Meeting is a group meeting or not.
external_video_meeting_url string The URL to an external video meeting room. Only applies to Meetings with Meeting Place of kind external_video.

Get all Meetings

curl "https://invitepeople.com/api/v2/events/1/meetings" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

[
  {
    "created_at" : "2024-04-04T19:49:10.602+02:00",
    "end_time" : "2024-04-06T09:10:00.000+02:00",
    "external_video_meeting_url" : null,
    "group_meeting" : false,
    "id" : 1,
    "meeting_requests" : [
      {
        "id" : 1,
        "participant_id" : 5,
        "role" : "Participant",
        "status" : "Accept",
        "visibility" : "Private"
      }
    ],
    "meeting_status" : "confirmed",
    "notes" : null,
    "start_time" : "2024-04-06T08:40:00.000+02:00",
    "updated_at" : "2024-04-04T19:49:10.602+02:00",
    "visibility" : "Private"
  },
  {
    "created_at" : "2024-04-04T19:49:10.602+02:00",
    "end_time" : "2024-04-06T10:10:00.000+02:00",
    "external_video_meeting_url" : null,
    "group_meeting" : false,
    "id" : 2,
    "meeting_place" : {
      "capacity" : null,
      "description" : "",
      "hybrid_room" : null,
      "id" : 2,
      "kind" : "meeting_place",
      "name" : "Room B"
    },
    "meeting_requests" : [
      {
        "id" : 2,
        "participant_id" : 4,
        "role" : "Participant",
        "status" : "Accept",
        "visibility" : "Normal"
      },
      {
        "id" : 3,
        "participant_id" : 3,
        "role" : "Participant",
        "status" : "Accept",
        "visibility" : "Normal"
      }
    ],
    "meeting_status" : "confirmed",
    "notes" : "Donec sed odio dui. Etiam porta sem malesuada magna.",
    "start_time" : "2024-04-06T09:40:00.000+02:00",
    "updated_at" : "2024-04-04T19:49:10.602+02:00",
    "visibility" : "Normal"
  },
  {
    "created_at" : "2024-04-04T19:49:10.602+02:00",
    "end_time" : "2024-04-06T10:10:00.000+02:00",
    "external_video_meeting_url" : null,
    "group_meeting" : false,
    "id" : 3,
    "meeting_place" : {
      "capacity" : null,
      "description" : "",
      "hybrid_room" : null,
      "id" : 1,
      "kind" : "meeting_place",
      "name" : "Room A"
    },
    "meeting_requests" : [
      {
        "id" : 4,
        "participant_id" : 2,
        "role" : "Participant",
        "status" : "No_response",
        "visibility" : "Normal"
      },
      {
        "id" : 5,
        "participant_id" : 1,
        "role" : "Participant",
        "status" : "Accept",
        "visibility" : "Normal"
      }
    ],
    "meeting_status" : "waiting_answer",
    "notes" : null,
    "start_time" : "2024-04-06T09:40:00.000+02:00",
    "updated_at" : "2024-04-04T19:49:10.602+02:00",
    "visibility" : "Normal"
  }
]

Use this endpoint to retrieve all Meetings for an Event.

HTTP Request

GET https://invitepeople.com/api/v2/events/<EVENT_ID>/meetings

URL Parameters

Parameter Description
EVENT_ID required The ID of the Event.

Query Parameters

Property Type Description
limit optional integer The max number of records retrieved. Defaults to 1000, which is the max number of records in a single request.
id_before optional integer Get all records with a lower id.
updated_after optional string Get all records that have been updated after some point in time. Should be a time string in ISO 8601 format.

Read more about filters and pagination here

Get a specific Meeting

curl "https://invitepeople.com/api/v2/meetings/1" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

{
  "created_at" : "2024-04-04T19:49:10.602+02:00",
  "end_time" : "2024-04-06T10:10:00.000+02:00",
  "external_video_meeting_url" : null,
  "group_meeting" : false,
  "id" : 6,
  "meeting_events" : [],
  "meeting_place" : {
    "capacity" : null,
    "description" : "",
    "hybrid_room" : null,
    "id" : 6,
    "kind" : "meeting_place",
    "name" : "Room C"
  },
  "meeting_requests" : [
    {
      "id" : 16,
      "participant" : {
        "bookable" : true,
        "checked_in" : true,
        "company" : {
          "id" : 1,
          "slug" : "dc4498f1dffe",
          "name" : "InvitePeople"
        },
        "created_at" : "2021-03-04T06:28:28.505+01:00",
        "external_id" : null,
        "id" : 8,
        "login_link" : "https://invitepeople.com/40f010e3-f04a-47af-9531-7857892f557a/login/c599085e-fd53-4a7a-9354-893502bc5f22",
        "profile" : {
          "additional_title" : null,
          "address" : null,
          "city" : null,
          "company_name" : "",
          "country" : "SE",
          "first_name" : "Pharetra",
          "honorific_title" : null,
          "id" : 9,
          "last_name" : "Quam",
          "phone" : null,
          "profile_field_values" : [
            {
              "id" : 10,
              "profile_field" : {
                "id" : 1,
                "kind" : "radio_buttons",
                "name" : "justo-dapibus-condimentum",
                "translated_name" : {
                  "en" : "",
                  "sv" : "Justo Dapibus Condimentum"
                }
              },
              "value" : "Condimentum"
            }
          ],
          "title" : "",
          "zip" : null
        },
        "status" : "confirmed",
        "tickets" : [],
        "updated_at" : "2024-02-29T14:06:44.177+01:00",
        "user" : {
          "email" : "adipiscing@invitepeople.com",
          "id" : 15,
          "lang" : "en",
          "mobile" : "46700000000",
          "time_zone" : "Stockholm"
        },
        "visible" : true
      },
      "role" : "Participant",
      "status" : "Accept",
      "visibility" : "Normal"
    },
    {
      "id" : 17,
      "participant" : {
        "bookable" : true,
        "checked_in" : true,
        "created_at" : "2024-01-25T09:03:12.391+01:00",
        "external_id" : null,
        "id" : 12,
        "login_link" : "https://invitepeople.com/40f010e3-f04a-47af-9531-7857892f557a/login/c599085e-fd53-4a7a-9354-893502bc5f22",
        "profile" : {
          "additional_title" : null,
          "address" : null,
          "city" : null,
          "company_name" : "",
          "country" : "SE",
          "first_name" : "Amet",
          "honorific_title" : null,
          "id" : 18,
          "last_name" : "Risus Porta",
          "phone" : null,
          "profile_field_values" : [],
          "title" : "",
          "zip" : null
        },
        "status" : "confirmed",
        "tickets" : [
          {
            "id": 1,
            "created_at": "2018-05-29T10:37:15.653+02:00",
            "updated_at": "2018-05-30T22:00:01.960+02:00",
            "status": "Paid",
            "checked_in": true,
            "code": "00000001",
            "partner_code_id": null,
            "paid_price": "0.0",
            "vat": "0.0",
            "external_id": null,
            "order": {
              "id": 1,
              "created_at": "2018-05-29T10:37:15.653+02:00",
              "updated_at": "2018-05-30T22:00:01.960+02:00",
              "status": "paid",
              "payment_method": null,
              "invoice_fee": null,
              "invoice_fee_vat": null,
              "reversed_vat": false,
              "vat": "0.0",
              "sum": "0.0",
              "currency": "SEK",
              "utm_params": {
                "utm_campaign": "Campaign",
                "utm_medium": "email",
                "utm_source": "email_sendout"
              }
            },
            "ticket_type": {
              "id": 1,
              "description": {
                "sv": "Mattis Purus",
                "en": "Sollicitudin Ullamcorper"
              },
              "kind": "entrance"
            }
          }
        ],
        "updated_at" : "2024-01-25T09:03:12.460+01:00",
        "user" : {
          "email" : "amet@invitepeople.com",
          "id" : 1,
          "lang" : "sv",
          "mobile" : "46700000000",
          "time_zone" : "Stockholm"
        },
        "visible" : true
      },
      "role" : "Participant",
      "status" : "Accept",
      "visibility" : "Normal"
    }
  ],
  "meeting_status" : "confirmed",
  "notes" : null,
  "start_time" : "2024-04-06T09:40:00.000+02:00",
  "updated_at" : "2024-04-04T19:49:10.602+02:00",
  "visibility" : "Normal"
}

Use this endpoint to retrieve a specific Meeting.

HTTP Request

GET https://invitepeople.com/api/v2/meetings/<ID>

URL Parameters

Parameter Description
ID required The ID of the Meeting.

Webhooks

Webhook

The Webhook object represents a configuration within an Organization that will trigger callbacks to a specific payload_url.

Properties

Property Type Description
uuid string A unique ID that will be present in the header X-Ip-Webhook-Uuid for all requests from the Webhook.
payload_url string The URL that receives callbacks from the Webhook.
secret string A secret string used for signing and verifying the Webhook.
active boolean Will return true if the Webhook is activated.
verified boolean Will return true if the Webhook is verified by InvitePeople.
webhook_event_kinds array The events that will trigger the callback from the Webhook. Possible values are participant_confirmed, participant_updated, and participant_destroyed.

Webhook callback

The Webhook will POST JSON to the payload url structured like this:

{
  "webhook_uuid": "45986a64-1e16-47bc-b486-b6d9cfd191e7",
  "delivery_uuid": "072bf312-f6b9-4f5d-a7f5-c36cc5c401a9",
  "delivered_at": "2022-02-05T22:37:25.923+01:00",
  "retry": 0,
  "webhook_event_kind": "participant_confirmed",
  "data": {
    "participant": {
      "id": 1,
      "created_at": "2018-04-11T14:56:28.719+02:00",
      "updated_at": "2019-09-30T08:46:37.416+02:00",
      "status": "confirmed",
      "visible": true,
      "bookable": true,
      "checked_in": true,
      "user": {
        "id": 1,
        "email": "amet@invitepeople.com",
        "lang": "en",
        "time_zone": "Berlin",
        "mobile": "46700000000"
      },
      "profile": {
        "id": 1,
        "address": "Condimentum 1",
        "zip": "000 00",
        "city": "Berlin",
        "country": "DE",
        "phone": "000 - 00 00 00",
        "company_name": "InvitePeople",
        "title": "Vehicula",
        "first_name": "Amet",
        "last_name": "Risus Porta",
        "honorific_title": null,
        "additional_title": null,
        "profile_field_values": [
          {
            "id": 1,
            "value": "Malesuada Sit Quam",
            "profile_field": {
              "id": 1,
              "name": "fusce-ultricies-vestibulum-fermentum-pharetra-fringilla",
              "kind": "select",
              "translated_name": {
                "sv": "Fusce Ultricies Vestibulum",
                "en": "Fermentum Pharetra Fringilla"
              }
            }
          },
          {
            "id": 2,
            "value": "Adipiscing Egestas Sollicitudin Condimentum",
            "profile_field": {
              "id": 2,
              "name": "bibendum-tellus-mollis-fermentum",
              "kind": "text_field",
              "translated_name": {
                "sv": "Bibendum Tellus",
                "en": "Mollis Fermentum"
              }
            }
          }
        ]
      },
      "company": {
        "id": 2,
        "slug": "ef4473f13dfe",
        "name": "InvitePeople"
      },
      "tickets": [
        {
          "id": 1,
          "created_at": "2018-05-29T10:37:15.653+02:00",
          "updated_at": "2018-05-30T22:00:01.960+02:00",
          "status": "Paid",
          "checked_in": true,
          "code": "00000001",
          "order": {
            "id": 1,
            "created_at": "2018-05-29T10:37:15.653+02:00",
            "updated_at": "2018-05-30T22:00:01.960+02:00",
            "status": "paid",
            "payment_method": null,
            "invoice_fee": null,
            "invoice_fee_vat": null,
            "reversed_vat": false,
            "vat": "0.0",
            "sum": "0.0",
            "currency": "SEK",
            "utm_params": {
              "utm_campaign": "Campaign",
              "utm_medium": "email",
              "utm_source": "email_sendout"
            }
          },
          "ticket_type": {
            "id": 1,
            "description": {
              "sv": "Mattis Purus",
              "en": "Sollicitudin Ullamcorper"
              },
            "kind": "entrance"
          }
        },
        {
          "id": 2,
          "created_at": "2018-08-21T16:10:23.969+02:00",
          "updated_at": "2018-10-11T14:00:16.147+02:00",
          "status": "Paid",
          "checked_in": true,
          "code": "00000002",
          "order": {
            "id": 2,
            "created_at": "2018-08-21T16:10:23.969+02:00",
            "updated_at": "2018-10-11T14:00:16.147+02:00",
            "status": "paid",
            "payment_method": null,
            "invoice_fee": null,
            "invoice_fee_vat": null,
            "reversed_vat": false,
            "vat": "0.0",
            "sum": "0.0",
            "currency": "SEK",
            "utm_params": {
              "utm_campaign": "Campaign",
              "utm_medium": "email",
              "utm_source": "email_sendout"
            }
          },
          "ticket_type": {
            "id": 2,
            "description": {
              "sv": "Ridiculus Venenatis Fusce",
              "en": "Ridiculus Venenatis Fusce"
            },
            "kind": null,
            "seminar": {
              "id": 1,
              "slug": "ee74234991fe",
              "name": "Ridiculus Venenatis Fusce",
              "location": "Condimentum Inceptos",
              "start_time": "2018-10-11T14:05:00.000+02:00",
              "end_time": "2018-10-11T14:30:00.000+02:00",
              "code": "001"
            }
          }
        },
        {
          "id": 3,
          "created_at": "2018-08-21T16:17:40.098+02:00",
          "updated_at": "2018-10-11T15:36:33.921+02:00",
          "status": "Paid",
          "checked_in": false,
          "code": "00000003",
          "order": {
            "id": 3,
            "created_at": "2018-08-21T16:17:40.098+02:00",
            "updated_at": "2018-10-11T15:36:33.921+02:00",
            "status": "paid",
            "payment_method": null,
            "invoice_fee": null,
            "invoice_fee_vat": null,
            "reversed_vat": false,
            "vat": "0.0",
            "sum": "0.0",
            "currency": "SEK",
            "utm_params": {
              "utm_campaign": "Campaign",
              "utm_medium": "email",
              "utm_source": "email_sendout"
            }
          },
          "ticket_type": {
            "id": 3,
            "description": {
              "sv": "Ullamcorper Sit Tellus",
              "en": "Ullamcorper Sit Tellus"
            },
            "kind": null,
            "seminar": {
              "id": 2,
              "slug": "fe741fc771dd",
              "name": "Ullamcorper Sit Tellus",
              "location": "Mattis Pellentesque",
              "start_time": "2018-10-11T15:35:00.000+02:00",
              "end_time": "2018-10-11T16:00:00.000+02:00",
              "code": "002"
            }
          }
        }
      ]
    },
    "event": {
      "id": 1,
      "slug": "ff361767ffe2",
      "name": "Sollicitudin Lorem",
      "created_at": "2017-11-20T13:55:42.425+01:00",
      "updated_at": "2018-02-14T13:15:36.789+01:00",
      "country": "SE",
      "address": "Lorem Dolor 36",
      "zip": "123 45",
      "city": "Sollicitudin",
      "place": "Condimentum Vulputate",
      "description": {
        "sv": "<p>Maecenas faucibus mollis interdum. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>",
        "en": "<p>Curabitur blandit tempus porttitor. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.</p>"
      },
      "start_time": "2017-05-31T00:00:00.000+02:00",
      "end_time": "2017-06-02T23:59:00.000+02:00",
      "lang": "sv",
      "organizer": {
        "id": 1,
        "name": "Magna",
        "description": {
          "sv": "Vulputate Elit Cras Tristique Quam",
          "en": "Nibh Sollicitudin Egestas Risus Bibendum"
        },
        "email": "sollicitudin@invitepeople.com",
        "website": "https://invitepeople.com/sollicitudin/"
      }
    }
  }
}

The Webhook will deliver HTTP POST requests to the payload_url.

The requests from the Webhook will have a header X-Ip-Webhook-Signature set making it possible to authorize them. The X-Ip-Webhook-Signature is a HMAC SHA256 digest of the request body using the Webhook secret. See example code on how to authorize callbacks here

HTTP Request

POST PAYLOAD_URL
X-Ip-Webhook-Signature: sha256=HMAC_SHA265_DIGEST
X-Ip-Webhook-Delivery-Uuid: WEBHOOK_DELIVERY_UUID
X-Ip-Webhook-Uuid: WEBHOOK_UUID
Content-Type: application/json

Properties

Property Type Description
webhook_uuid string A unique ID of the Webhook that also will be present in the header X-Ip-Webhook-Uuid.
webhook_delivery_uuid string A unique ID of the Webhook Delivery that also will be present in the header X-Ip-Webhook-Delivery-Uuid.
retry integer Will be 0 for the first delivery. Max number of retries is 3.
webhook_event_kind string The event that triggered the Webhook. Possible values are participant_confirmed, participant_updated, and participant_destroyed.
data object The data of the Webhook Delivery. Possible nested objects are participant and event.

Create a Webhook

curl "https://invitepeople.com/api/v2/webhooks" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
        "payload_url": "https://webhook/payload/url",
        "secret": "976c3086-aa43-48fe-ab0c-cad8556b999c",
        "webhook_event_kinds": ["participant_confirmed"]
      }'

The above command returns JSON structured like this:

{
  "id": 1,
  "uuid": "0191c943-08b8-4bbc-a2be-93b5a33393a3",
  "payload_url": "https://webhook/payload/url",
  "active": true,
  "verified": false,
  "created_at": "2022-02-08T06:57:02.047+01:00",
  "updated_at": "2022-02-08T06:57:02.047+01:00",
  "webhook_event_kinds": [
    "participant_confirmed"
  ]
}

If an error occurs, it returns JSON structured like this:

{
  "errors": [
    "payload url cannot be empty",
    "secret cannot be empty"
  ]
}

Use this endpoint to create a Webhook for an Organization.

When a Webhook is created a request will be sent to the payload_url trying to verify the endpoint. Read more about verifying webhooks here

HTTP Request

POST https://invitepeople.com/api/v2/webhooks
Content-Type: application/json

Parameters

Parameter Type Description
payload_url required integer The payload url to where the new Webhook should deliver callbacks.
secret required string The secret for the new Webhook used for verification and signing. Save this for later!
webhook_event_kinds array The events that should trigger the Webhook. Possible values are participant_confirmed, participant_updated, and participant_destroyed.

Returns

If successfull it should return the created Webhook object.

Errors

Error Description
payload url cannot be empty No payload url provided.
secret cannot be empty No secret provided.
incorrect kind There are incorrect Webhook event kinds. Possible values are participant_confirmed, participant_updated, and participant_destroyed.

Get all Webhooks

curl "https://invitepeople.com/api/v2/webhooks" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

[
  {
    "id": 2,
    "uuid": "0df82a98-2795-49ad-bd72-17de61b3b1c1",
    "payload_url": "https://webhook/payload/url",
    "active": true,
    "verified": true,
    "created_at": "2022-02-05T22:17:22.571+01:00",
    "updated_at": "2022-02-05T22:17:22.571+01:00",
    "webhook_event_kinds": [
      "participant_confirmed",
    ]
  },
  {
    "id": 1,
    "uuid": "94e8bd6c-6b12-4c43-ad0c-c0dd0857ea6d",
    "payload_url": "https://webhook/payload/url",
    "active": true,
    "verified": false,
    "created_at": "2022-02-05T21:33:00.623+01:00",
    "updated_at": "2022-02-05T21:33:00.623+01:00",
    "webhook_event_kinds": [
      "participant_confirmed",
      "participant_destroyed"
    ]
  }
]

Use this endpoint to retrieve all Webhooks in your organization.

HTTP Request

GET https://invitepeople.com/api/v2/webhooks

Query Parameters

Property Type Description
limit optional integer The max number of records retrieved. Defaults to 1000, which is the max number of records in a single request.
id_before optional integer Get all records with a lower id.
updated_after optional string Get all records that have been updated after some point in time. Should be a time string in ISO 8601 format.

Read more about filters and pagination here

Update a Webhook

curl "https://invitepeople.com/api/v2/webhooks/1" \
  -X PATCH \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "active": false }'

The above command returns JSON structured like this:

{
  "id": 1,
  "uuid": "0191c943-08b8-4bbc-a2be-93b5a33393a3",
  "payload_url": "https://webhook/payload/url",
  "active": false,
  "verified": true,
  "created_at": "2022-02-08T06:57:02.047+01:00",
  "updated_at": "2022-02-08T06:57:02.047+01:00",
  "webhook_event_kinds": [
    "participant_confirmed"
  ]
}

If an error occurs, it returns JSON structured like this:

{
  "errors": [
    "incorrect kind"
  ]
}

Use this endpoint to update a specific Webhook.

HTTP Request

PATCH https://invitepeople.com/api/v2/webhooks/<WEBHOOK_ID>
Content-Type: application/json

URL Parameters

Parameter Description
WEBHOOK_ID required The ID of the Webhook.

Parameters

Parameter Type Description
active boolean Set to false to deactivate the Webhook, stopping all requests to the payload url.
webhook_event_kinds array The events that should trigger the Webhook. Possible values are participant_confirmed, participant_updated, and participant_destroyed.

Returns

If successfull it should return the updated Webhook object.

Errors

Error Description
incorrect kind There are incorrect Webhook event kinds. Possible values are participant_confirmed, participant_updated, and participant_destroyed.

Delete a Webhook

curl "https://invitepeople.com/api/v2/webhooks/1" \
  -X DELETE \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

{
  "id": 1,
  "uuid": "0191c943-08b8-4bbc-a2be-93b5a33393a3",
  "payload_url": "https://webhook/payload/url",
  "active": true,
  "verified": false,
  "created_at": "2022-02-08T06:57:02.047+01:00",
  "updated_at": "2022-02-08T06:57:02.047+01:00",
  "webhook_event_kinds": [
    "participant_confirmed"
  ]
}

Use this endpoint to delete a specific Webhook.

HTTP Request

DELETE https://invitepeople.com/api/v2/webhooks/<WEBHOOK_ID>

URL Parameters

Parameter Description
WEBHOOK_ID required The ID of the Webhook.

Returns

If successfull it should return the deleted Webhook object.

Verify a Webhook

curl "https://invitepeople.com/api/v2/webhooks/1/verify" \
  -X POST \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

{
  "id": 1,
  "uuid": "0df82a98-2795-49ad-bd72-17de61b3b1c1",
  "payload_url": "https://webhook/payload/url",
  "active": true,
  "verified": true,
  "created_at": "2022-02-05T22:17:22.571+01:00",
  "updated_at": "2022-02-05T22:17:22.571+01:00",
  "webhook_event_kinds": [
    "participant_confirmed",
  ]
}

Example code for a payload url endpoint that receives callbacks from the Webhook.

# The endpoint of the payload url that will receive the Webhooks
def payload_url_endpoint
  # Make sure only request originating from the created Webhook are accepted
  return head 401 unless hmac_digest(request.raw_post) == request.headers['X-Ip-Webhook-Signature']

  # ...

  # Return a HMAC SHA256 digest of the header X-Ip-Webhook-Delivery-Uuid to verify the endpoint
  render plain: hmac_digest(request.headers['X-Ip-Webhook-Delivery-Uuid'])
end

private

# Method that creates a HMAC SHA256 digest using the Webhook secret
def hmac_digest(body)
  "sha256=#{
    OpenSSL::HMAC.hexdigest(
      OpenSSL::Digest.new('sha256'),
      ENV['WEBHOOK_SECRET'],
      body
    )
  }"
end

Use this endpoint to verify an existing Webhook. A request will be sent to the payload_url trying to verify the endpoint. The property verified will be set to true if the verification is successfull.

To become verified, the payload url endpoint should respond with a HMAC SHA256 digest of the request header X-Ip-Webhook-Delivery-Uuid using the Webhook secret.

HTTP Request

POST https://invitepeople.com/api/v2/webhooks/<WEBHOOK_ID>/verify

URL Parameters

Parameter Description
WEBHOOK_ID required The ID of the Webhook.

Webhook Deliveries

Webhook Delivery

The Webhook Delivery object represents a specific callback from a Webhook. Webhook Deliveries acts as a log for successfull and failed Webhook callbacks.

Properties

Property Type Description
uuid string A unique ID for the specific callback that will be present in the header X-Ip-Webhook-Delivery-Uuid of the request.
retries integer The number of retries for the Webhook Delivery. Max number of retries is 3.
target_type string The object type that triggered the Webhook. Possible values are Participant.
target_id integer The ID of the object that triggered the Webhook.
kind integer The event that triggered the Webhook. Possible values are participant_confirmed, participant_updated, and participant_destroyed.
status string The status of the Webhook Delivery after the latest retry. Possible values are delivering, success and failed.
response_code string The HTTP response code after the latest retry.

Get all Webhook Deliveries

curl "https://invitepeople.com/api/v2/webhooks/1/deliveries" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

[
  {
    "id": 3,
    "uuid": "06b8d557-ab59-44e2-9abf-10a300214539",
    "retries": 0,
    "target_type": "Participant",
    "target_id": 1,
    "kind": "participant_confirmed",
    "status": "success",
    "response_code": "200",
    "created_at": "2022-02-05T22:09:34.806+01:00",
    "updated_at": "2022-02-05T22:10:33.916+01:00"
  },
  {
    "id": 2,
    "uuid": "4953b473-e823-47d9-8573-e33f09ebab87",
    "retries": 2,
    "target_type": "Participant",
    "target_id": 2,
    "kind": "participant_destroyed",
    "status": "success",
    "response_code": "200",
    "created_at": "2022-02-05T22:09:19.792+01:00",
    "updated_at": "2022-02-05T22:10:33.891+01:00"
  },
  {
    "id": 1,
    "uuid": "3e164c81-69a6-44d8-9945-defedb8ac735",
    "retries": 3,
    "target_type": "Participant",
    "target_id": 3,
    "kind": "participant_confirmed",
    "status": "failed",
    "response_code": "401",
    "created_at": "2022-02-05T22:05:51.402+01:00",
    "updated_at": "2022-02-05T22:08:48.347+01:00"
  }
]

Use this endpoint to retrieve all Webhook Deliveries for a Webhook.

HTTP Request

GET https://invitepeople.com/api/v2/webhooks/<WEBHOOK_ID>/deliveries

URL Parameters

Parameter Description
WEBHOOK_ID required The ID of the Webhook.

Query Parameters

Property Type Description
limit optional integer The max number of records retrieved. Defaults to 1000, which is the max number of records in a single request.
id_before optional integer Get all records with a lower id.
updated_after optional string Get all records that have been updated after some point in time. Should be a time string in ISO 8601 format.

Read more about filters and pagination here

Web Analytics

Web Analytics Metrics & Properties

Access Web Analytics for all participant-facing event pages in InvitePeople using the metrics and properties below. The properties can be used for filtering and breaking down data.

Metrics

Metric Description
visitors The number of unique visitors.
visits The number of visits/sessions.
pageviews The number of pageview events.
bounce_rate Bounce rate percentage.
visit_duration Visit duration in seconds.

Properties

Property Description
entry_page Page on which the visit session started (landing page).
exit_page Page on which the visit session ended (last page viewed).
source Visit source, populated from an url query parameter tag (utm_source, source, or ref) or the Referer HTTP header.
referrer Raw Referer header without http://, http:// or www..
utm_medium Raw value of the utm_medium query param on the entry page.
utm_source Raw value of the utm_source query param on the entry page.
utm_campaign Raw value of the utm_campaign query param on the entry page.
utm_content Raw value of the utm_content query param on the entry page.
utm_term Raw value of the utm_term query param on the entry page.
device Device type. Possible values are Desktop, Laptop, Tablet, and Mobile.
browser Name of the browser vendor. Most popular ones are Chrome, Safari, and Firefox.
browser_version Version number of the browser used by the visitor.
os Name of the operating system. Most popular ones are Mac, Windows, iOS, and Android. Linux distributions are reported separately.
os_version Version number of the operating system used by the visitor.
country ISO 3166-1 alpha-2 code of the visitor country.
region ISO 3166-2 code of the visitor region.
city GeoName ID of the visitor city.

Aggregate Web Analytics

curl --get "https://invitepeople.com/api/v2/web_analytics/aggregate" \
  -d "event_ids[]=1" \
  -d "event_ids[]=2" \
  -d "start_date=2023-01-01" \
  -d "end_date=2023-12-31" \
  -d "metrics[]=visitors" \
  -d "metrics[]=pageviews" \
  -d "filters[device]=Mobile" \
  -d "filters[utm_source]=linkedin" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

{
  "pageviews" : {
    "value" : 1984
  },
  "visitors" : {
    "value" : 564
  }
}

Use this endpoint to aggregate metrics over a certain time period.

HTTP Request

GET https://invitepeople.com/api/v2/web_analytics/aggregate

Query Parameters

Parameter Type Description
event_ids[] required array The IDs of the Events for which to fetch Web Analytics data.
start_date required string The start date of the time period. Should be a date string in ISO 8601 format.
end_date required string The end date of the time period. Should be a date string in ISO 8601 format.
metrics[] required array The metrics for which to fetch Web Analytics data.
filters[] object Filter the Web Analytics data by one or more properties. An object with property names as keys and preferred filter as values.

Break down Web Analytics

curl --get "https://invitepeople.com/api/v2/web_analytics/breakdown" \
  -d "event_ids[]=1" \
  -d "event_ids[]=2" \
  -d "event_ids[]=3" \
  -d "start_date=2023-01-01" \
  -d "end_date=2023-12-31" \
  -d "metrics[]=visitors" \
  -d "property=country" \
  -d "filters[utm_medium]=social" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

[
  {
    "country" : "NO",
    "visitors" : 2962
  },
  {
    "country" : "US",
    "visitors" : 984
  },
  {
    "country" : "GB",
    "visitors" : 976
  },
  {
    "country" : "SE",
    "visitors" : 518
  },
  {
    "country" : "DE",
    "visitors" : 155
  },
  {
    "country" : "CH",
    "visitors" : 148
  },
  {
    "country" : "DK",
    "visitors" : 145
  },
  {
    "country" : "FR",
    "visitors" : 111
  },
  {
    "country" : "NL",
    "visitors" : 111
  },
  {
    "country" : "ES",
    "visitors" : 85
  },
  {
    "country" : "AE",
    "visitors" : 71
  },
  {
    "country" : "HU",
    "visitors" : 60
  },
  {
    "country" : "GR",
    "visitors" : 48
  },
  {
    "country" : "UA",
    "visitors" : 1
  }
]

Use this endpoint to break down data by some property over a certain time period.

HTTP Request

GET https://invitepeople.com/api/v2/web_analytics/breakdown

Query Parameters

Parameter Type Description
event_ids[] required array The IDs of the Events for which to fetch Web Analytics data.
start_date required string The start date of the time period. Should be a date string in ISO 8601 format.
end_date required string The end date of the time period. Should be a date string in ISO 8601 format.
metrics[] required array The metrics for which to fetch Web Analytics data.
property required string The property to break down the Web Analytics data by.
filters[] object Filter the Web Analytics data by one or more properties. An object with property names as keys and preferred filter as values.

Get Web Analytics time series

curl --get "https://invitepeople.com/api/v2/web_analytics/timeseries" \
  -d "event_ids[]=1" \
  -d "start_date=2024-05-01" \
  -d "end_date=2024-05-10" \
  -d "metrics[]=bounce_rate" \
  -d "metrics[]=visit_duration" \
  -H "Authorization: Bearer $TOKEN"

The above command returns JSON structured like this:

[
  {
    "bounce_rate" : 64,
    "date" : "2024-05-01",
    "visit_duration" : 264
  },
  {
    "bounce_rate" : 55,
    "date" : "2024-05-02",
    "visit_duration" : 412
  },
  {
    "bounce_rate" : 46,
    "date" : "2024-05-03",
    "visit_duration" : 74
  },
  {
    "bounce_rate" : 0,
    "date" : "2024-05-04",
    "visit_duration" : 487
  },
  {
    "bounce_rate" : 60,
    "date" : "2024-05-05",
    "visit_duration" : 270
  },
  {
    "bounce_rate" : 43,
    "date" : "2024-05-06",
    "visit_duration" : 1121
  },
  {
    "bounce_rate" : 42,
    "date" : "2024-05-07",
    "visit_duration" : 508
  },
  {
    "bounce_rate" : 50,
    "date" : "2024-05-08",
    "visit_duration" : 28
  },
  {
    "bounce_rate" : 71,
    "date" : "2024-05-09",
    "visit_duration" : 20
  },
  {
    "bounce_rate" : 29,
    "date" : "2024-05-10",
    "visit_duration" : 609
  }
]

User this endpoint to fetch a time series of data over a certain time period.

HTTP Request

GET https://invitepeople.com/api/v2/web_analytics/timeseries

Query Parameters

Parameter Type Description
event_ids[] required array The IDs of the Events for which to fetch Web Analytics data.
start_date required string The start date of the time period. Should be a date string in ISO 8601 format.
end_date required string The end date of the time period. Should be a date string in ISO 8601 format.
metrics[] required array The metrics for which to fetch Web Analytics data.
filters[] object Filter the Web Analytics data by one or more properties. An object with property names as keys and preferred filter as values.

Error Codes

The InvitePeople API uses the following error codes:

Error Code Meaning
400 Bad Request – Your JSON is probably malformed.
401 Unauthorized – Your API token or is wrong.
404 Not Found – The record is not found.
422 Unprocessable Entity - The server did not process your request, probably due to a validation error.
500 Internal Server Error – We had a problem with our server. Try again later.

Changelog

2.2.19 2024-11-26

Added slug to the Event object.

Added slug to the Seminar object.

Added slug to the Company object.

2.2.18 2024-09-10

Added Aggregate Web Analytics endpoint.

Added Break down Web Analytics endpoint.

Added Get Web Analytics time series endpoint.

2.2.17 2024-09-07

Added Get all Partner Codes endpoint.

Added Get a specific Partner Code endpoint.

Added Get all Ticket Scans endpoint.

Added Get a specific Ticket Scan endpoint.

Added partner_code_id to the Ticket object.

2.2.16 2024-08-16

Added Get all Companies endpoint.

Added Get a specific Company endpoint.

2.2.15 2024-05-20

Added data_minimization_status to the Event object.

2.2.14 2024-04-05

Added Get all Meetings endpoint.

Added Get a specific Meeting endpoint.

2.2.13 2023-09-11

Added order to the Ticket object.

2.2.12 2023-05-04

Added key published to the Event endpoints.

2.2.11 2023-04-26

Added Update a Profile Field Value endpoint.

Added Delete a Profile Field Value endpoint.

2.2.10 2023-04-25

Added Get a User endpoint.

Added Get a Profile Field Value endpoint.

2.2.9 2023-04-11

Added a new webhook_event_kind for the Webhook object: participant_updated.

2.2.8 2023-03-22

Added custom_event_fields to the Organization object.

Added custom_event_fields_data to the Event object.

2.2.7 2023-01-20

Added Get a specific Event endpoint.

Added Update a Participant endpoint.

2.2.6 2022-12-22

Added Get a Ticket endpoint.

Added Update a Ticket endpoint.

Added Delete a Ticket endpoint.

Added paid_price, vat, and external_id to the Ticket object.

2.2.5 2022-11-18

Added keys external_id and login_link to the Participant object.

Added external_id, price, selling_start_time, selling_end_time, min_purchase_amount, max_purchase_amount, amount, vat_percentage, visibility, caption, and personal_addon to the TicketType object.

2.2.4 2022-09-23

Added Get a specific Ticket Type endpoint.

2.2.3 2022-06-27

Added keys honorific_title and additional_title to the Profile object when fetching Participants.

2.2.2 2022-05-18

Added keys tickets and profile_field_values to the Get all Participants endpoint. All Participant endpoints now returns the same data structure.

2.2.1 2022-04-27

Added Send an Email endpoint.

Added Get a specific Email endpoint.

2.2.0 2022-02-11

Added parameters limit, id_before and updated_after to Get all endpoints. The default limit and max number of records in a single request is now 1000.

Added the new concept Webhook that can trigger callbacks for the events participant_confirmed and participant_destroyed.

Added endpoints Create a Webhook, Get all Webhooks, Update a Webhook, Delete a Webhook, Verify a Webhook and Get all Webhook Deliveries.

Added key created_at to the Get your Organization endpoint.

Added keys created_at and updated_at to the Get all Ticket Types, Get all Profile Fields, Get a specific Profile Field and Create a Profile Field Value endpoints.

Added error code 422 Unprocessable Entity to docs.

2.1.2 2021-08-27

Added Get a specific Profile Field endpoint.

2.1.1 2021-04-06

Added keys visible and bookable to the Create a Participant, Get a specific Participant and Get all Participants endpoints.

2.1.0 2021-04-04

Added Get your Organization endpoint.

Added Get all Ticket Types endpoint.

Added Get all Profile Fields endpoint.

Added Create a Participant endpoint.

Added Create a Ticket endpoint.

Added Create a Profile Field Value endpoint.

Added keys time_zone, lang, phone, address, zip, city, country to the Get a specific Participant and Get all Participants endpoints.

Added error code 400 Bad Request to docs.

Added Event properties and other clarifications to docs.

2.0.1 2020-05-13

Added key checked_in to the Get all Participants endpoint.

2.0.0 2019-12-08

Initial release.