NAV Navbar
shell

Introduction

Welcome to the HeySummit API. If you're on our Business plan then you're able to take advantage of our powerful API to pull data out (such as events, attendees, speakers) and also push data into your HeySummit event (such as registering attendees, importing external ticket sales and much more).

We have language examples in Shell (with other platform examples coming soon)! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

Authentication

HeySummit uses API Keys to allow access to the API. You can find your API Key on the API Settings page, when logged into your HeySummit account..

The API Key needs to be included in ALL API requests to the server in a header that looks like the following:

Authorization: Token e3c0c748fe9b55386eecc07c339ec4099a8b9b0e

Events

Get All Events

curl "https://api.heysummit.com/api/events/"
  -X GET
  -H "Authorization: Token e3c0c748fe9b55386eecc07c339ec4099a8b9b0e"

The above command returns JSON structured like this:

{
    "count": 17,
    "next": "https://api.heysummit.com/api/events/?page=2",
    "previous": null,
    "results":[{
        "id":"1234",
        "url":"https://api.heysummit.com/api/events/1234/",
        "title":"Demo Event ABC",
        "event_url":"https://event.example.com",
        "first_talk_at":"2019-05-19T11:53:52",
        "last_talk_at":"2019-05-31T12:44:00",
        "is_live": true,
        "is_archived": false,
        "is_evergreen": false,
        "is_open_for_registrations": true
    },{
        "id":"1234",
        "url":"https://api.heysummit.com:8000/api/events/1234/",
        "title":"Demo Event ABC",
        "event_url":"https://event.example.com",
        "first_talk_at":"2019-05-19T11:53:52",
        "last_talk_at":"2019-05-31T12:44:00"
        ...
    }]
}

This endpoint retrieves all Events linked to your account.

HTTP Request

GET https://api.heysummit.com/api/events/

Query Parameters

Parameter Description
is_live Set this to True to filter Events that are currently marked as Live
is_archived Set this to True to filter Events that are currently marked as Archived
is_evergreen Set this to True to filter Events that are setup as Evergreen events
is_open_for_registrations Set this to True to filter Events that are open for registrations

Get an Event

curl "https://api.heysummit.com/api/events/1234/"
  -X GET
  -H "Authorization: Token e3c0c748fe9b55386eecc07c339ec4099a8b9b0e"

The above command returns JSON structured like this:

{
    "id":"1234",
    "url":"https://api.heysummit.com/api/events/1234/",
    "title":"Demo Event ABC",
    "event_url":"https://event.example.com",
    "first_talk_at":"2019-05-19T11:53:52",
    "last_talk_at":"2019-05-31T12:44:00",
    ...
}

This endpoint retrieves an event.

HTTP Request

GET https://api.heysummit.com/api/events/<ID>/

URL Parameters

Parameter Description
ID The ID of the Event to retrieve

Archive an Event

curl "https://api.heysummit.com/api/events/1234/archive/"
  -X POST
  -H "Authorization: Token e3c0c748fe9b55386eecc07c339ec4099a8b9b0e"

The above command returns JSON structured like this:

{
    "id":"1234",
    "url":"https://api.heysummit.com/api/events/1234/",
    "title":"Demo Event ABC",
    "event_url":"https://event.example.com",
    "first_talk_at":"2019-05-19T11:53:52",
    "last_talk_at":"2019-05-31T12:44:00",
    ...
}

This endpoint archives an Event.

HTTP Request

POST https://api.heysummit.com/api/events/<ID>/archive/

URL Parameters

Parameter Description
ID The ID of the Event to archive

Talks

Get All Talks

curl "https://api.heysummit.com/api/talks/"
  -X GET
  -H "Authorization: Token e3c0c748fe9b55386eecc07c339ec4099a8b9b0e"

The above command returns JSON structured like this:

{
    "count": 62,
    "next": "https://api.heysummit.com/api/talks/?page=2",
    "previous": null,
    "results": [{
        "id": 636,
        "title": "3 common Writing & Publishing mistakes to avoid",
        "date": "2019-05-09T08:05:23.860467",
        "event": "https://api.heysummit.com/api/events/24/",
        "speakers": [
            {
                "id": 809,
                "event": 24,
                "first_name": "Ursula",
                "last_name": "Cork",
                "company": "Company ABC",
                "company_title": "Head of Growth",
                "headshot": "https://api.heysummit.com/media/uploads/image-17.png",
                "expert_creds": "As a Head of Growth I'm one of the best. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip .",
                "bio": "Prior to working at Cyberdyne Systems, I held senior positions acrosss a wide range of industries. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qu.",
                "is_active": true
            }
        ],
        "categories": [
            {
                "id": 554,
                "event": 24,
                "title": "PPC & Adwords",
                "description": null
            },
            {
                "id": 552,
                "event": 24,
                "title": "Personal Development",
                "description": null
            }
        ],
        "is_active": true,
        "is_featured": true
    },{
        "id": 636,
        "title": "3 common Writing & Publishing mistakes to avoid",
        "date": "2019-05-09T08:05:23.860467",
        "event": "https://api.heysummit.com/api/events/24/",
        ...
    }]
}

This endpoint retrieves all Talks linked to your account.

HTTP Request

GET https://api.heysummit.com/api/talks/

Query Parameters

Parameter Description
event The ID of the Event you want to filter the Talks list by
is_active Set this to True to filter Talks that are currently marked as Active (or not)

Get a Talk

curl "https://api.heysummit.com/api/talks/1234/"
  -X GET
  -H "Authorization: Token e3c0c748fe9b55386eecc07c339ec4099a8b9b0e"

The above command returns JSON structured like this:

{
    "id": 636,
    "title": "3 common Writing & Publishing mistakes to avoid",
    "date": "2019-05-09T08:05:23.860467",
    "event": "https://api.heysummit.com/api/events/24/",
    ...
}

This endpoint retrieves a Talk.

HTTP Request

GET https://api.heysummit.com/api/talks/<ID>/

URL Parameters

Parameter Description
ID The ID of the Talk to retrieve

Attendees

Get All Attendees

curl "https://api.heysummit.com/api/attendees/" \
  -X GET \
  -H "Authorization: Token e3c0c748fe9b55386eecc07c339ec4099a8b9b0e"

The above command returns JSON structured like this:

{
    "count": 294,
    "next": "https://api.heysummit.com/api/attendees/?page=2",
    "previous": null,
    "results":[{
        "id": 245,
        "url": "https://api.heysummit.com/api/attendees/246/",
        "email": "joe@bloggs.com",
        "name": "Joe Bloggs",
        "registration_status": "Completed Order",
        "event_id": 24,
        "event_name": "Demo Summit ABC",
        "created_at": "2019-04-18T19:51:24.073422"
        "agreed_terms": "2020-06-15T23:14:52.970120",
        "affiliate_email": "affilaite1@testdomain.com",
        "speaker_referrer_email": null,
        "utm_source": "News Weekly",
        "utm_medium": "Article",
        "utm_campaign": "EMAIL-CHAIN-29561",
        "referer_ref": null,
        "http_referer": "https://subd.myreferralsite.com/",
        "http_referer_domain": "mydomain.com",
        "ip_address": "8.8.8.8",
        "categories": [
            {
                "id": 241,
                "event": 6,
                "title": "Motivation",
                "description": null
            }
        ],
        "talks": [
            "https://api.heysummit.com/api/talks/155/",
            "https://api.heysummit.com/api/talks/156/"
        ],
        "questions": [],
        "tickets": [
            {
                "ticket_id": 10,
                "ticket_name": "Free Access",
                "amount_gross": null,
                "amount_net": null,
                "created_at": "2020-06-15T23:14:56.309526"
            }
        ]
    },{
        "id": 246,
        "url": "https://api.heysummit.com/api/attendees/246/",
        "email": "joe@bloggs.com",
        "name": "Joe Bloggs",
        "registration_status": "Completed Order",
        "event_id": 24,
        "event_name": "Demo Summit ABC",
        "created_at": "2019-04-18T19:51:24.073422",
        "agreed_terms": "2020-06-15T23:14:52.970120",
        "affiliate_email": "affilaite1@testdomain.com",
        "speaker_referrer_email": null,
        "utm_source": "News Weekly",
        "utm_medium": "Article",
        "utm_campaign": "EMAIL-CHAIN-29561",
        "referer_ref": null,
        "http_referer": "https://subd.myreferralsite.com/",
        "http_referer_domain": "mydomain.com",
        "ip_address": "8.8.4.4",
        "categories": [
            {
                "id": 240,
                "event": 6,
                "title": "Empowerment",
                "description": null
            },
            {
                "id": 241,
                "event": 6,
                "title": "Motivation",
                "description": null
            }
        ],
        "talks": [
            "https://api.heysummit.com/api/talks/155/",
            "https://api.heysummit.com/api/talks/156/"
        ],
        "questions": [],
        "tickets": [
            {
                "ticket_id": 10,
                "ticket_name": "Free Access",
                "amount_gross": null,
                "amount_net": null,
                "created_at": "2020-06-15T23:14:56.309526"
            }
        ]
        ...
    }]
}

This endpoint retrieves all Attendees linked to your account.

HTTP Request

GET https://api.heysummit.com/api/attendees/

Query Parameters

Parameter Description
event The ID of the event you want to filter the list of Attendees by

Get an Attendee

curl "https://api.heysummit.com/api/attendees/1234/" \
  -X GET \
  -H "Authorization: Token e3c0c748fe9b55386eecc07c339ec4099a8b9b0e"

The above command returns JSON structured like this:

{
    "id": 246,
    "url": "https://api.heysummit.com/api/attendees/246/",
    "email": "joe@bloggs.com",
    "name": "Joe Bloggs",
    "registration_status": "Completed Order",
    "event_id": 24,
    "event_name": "Demo Summit ABC",
    "created_at": "2019-04-18T19:51:24.073422",
    "agreed_terms": "2020-06-15T23:14:52.970120",
    "affiliate_email": "affilaite1@testdomain.com",
    "speaker_referrer_email": null,
    "utm_source": "News Weekly",
    "utm_medium": "Article",
    "utm_campaign": "EMAIL-CHAIN-29561",
    "referer_ref": null,
    "http_referer": "https://subd.myreferralsite.com/",
    "http_referer_domain": "mydomain.com",
    "ip_address": "8.8.8.8",
    "categories": [
        {
            "id": 241,
            "event": 6,
            "title": "Motivation",
            "description": null
        }
    ],
    "talks": [
        "https://api.heysummit.com/api/talks/155/",
        "https://api.heysummit.com/api/talks/156/"
    ],
    "questions": [],
    "tickets": [
        {
            "ticket_id": 10,
            "ticket_name": "Free Access",
            "amount_gross": null,
            "amount_net": null,
            "created_at": "2020-06-15T23:14:56.309526"
        }
    ],
}

This endpoint retrieves an Attendee.

HTTP Request

GET https://api.heysummit.com/api/attendees/<ID>/

URL Parameters

Parameter Description
ID The ID of the Attendee to retrieve

Add an Attendee

curl "https://api.heysummit.com/api/attendees/" \
  -X POST \
  -d '{"event":1234, "email":"joe@bloggs.com", "name":"Joe Bloggs"}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Token e3c0c748fe9b55386eecc07c339ec4099a8b9b0e"

The above command returns JSON structured like this:

{
    "id": 246,
    "url": "https://api.heysummit.com/api/attendees/246/",
    "email": "joe@bloggs.com",
    "name": "Joe Bloggs",
    "event_id": 24,
    "event_name": "Demo Summit ABC",
    "created_at": "2019-04-18T19:51:24.073422",
    "agreed_terms": "2020-06-15T23:14:52.970120",
    "affiliate_email": null,
    "speaker_referrer_email": null,
    "utm_source": null,
    "utm_medium": null,
    "utm_campaign": null,
    "referer_ref": null,
    "http_referer": null,
    "http_referer_domain": null,
    "ip_address": null,
    "categories": [],
    "talks": [],
    "questions": [],
    "tickets": []
}

This endpoint creates a new Attendee for the Event passed.

HTTP Request

POST https://api.heysummit.com/api/attendees/

URL Parameters

Parameter Required Description
event Yes The ID of the Event you want to add this attendee to
email Yes The email address of the Attendee you're adding
name Yes The name of the Attendee you're adding
ticket_id No The ID of the Ticket you want to add for this attendee

Tickets

Get All Tickets

curl "https://api.heysummit.com/api/tickets/"
  -X GET
  -H "Authorization: Token e3c0c748fe9b55386eecc07c339ec4099a8b9b0e"

The above command returns JSON structured like this:

{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 2,
            "url": "https://api.heysummit.com/api/tickets/30/",
            "name": "Premium Access",
            "event_id": 1,
            "event_name": "Test",
            "created_at": "2019-12-06T16:38:30.024291"
        },
        {
            "id": 1,
            "url": "https://api.heysummit.com/api/tickets/1/",
            "name": "Free Access",
            "event_id": 1,
            "event_name": "Test",
            "created_at": "2019-10-28T15:45:23.699053"
        }
    ]
}

This endpoint retrieves all Tickets linked to your account.

HTTP Request

GET https://api.heysummit.com/api/tickets/

Query Parameters

Parameter Description
event The ID of the event you want to filter the list of Tickets by

Get a Ticket

curl "https://api.heysummit.com/api/tickets/1/"
  -X GET
  -H "Authorization: Token e3c0c748fe9b55386eecc07c339ec4099a8b9b0e"

The above command returns JSON structured like this:

{
    "id": 1,
    "url": "http://api.heysummit.com/api/tickets/1/",
    "name": "Free Access",
    "event_id": 1,
    "event_name": "Test",
    "created_at": "2019-10-28T15:45:23.699053"
}

This endpoint retrieves a single Ticket.

HTTP Request

GET https://api.heysummit.com/api/tickets/<ID>/

URL Parameters

Parameter Description
ID The ID of the Ticket to retrieve

Errors

The HeySummit API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
404 Not Found -- The specified record or endpoint could not be found.
405 Method Not Allowed -- You tried to access an endpoint with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
429 Too Many Requests -- You're requesting too many records! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.