Introduction
Documentation for the HackGreenville API. This API provides access to data stored in the HackGreenville database, such as events, organizations and more.
This documentation aims to provide all the information you need to work with our API.
Authenticating requests
This API is not authenticated.
Endpoints
Events API v0
This API provides access to event data stored in the HackGreenville database.
Example request:
curl --request GET \
--get "https://hackgreenville.com/api/v0/events?start_date=2025-01-01&end_date=2100-12-31" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://hackgreenville.com/api/v0/events"
);
const params = {
"start_date": "2025-01-01",
"end_date": "2100-12-31",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://hackgreenville.com/api/v0/events'
params = {
'start_date': '2025-01-01',
'end_date': '2100-12-31',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
[
{
"event_name": "Dolores dolorum amet iste laborum eius est dolor.",
"group_name": "Nash Corwin tech group!!!",
"group_url": "quasi",
"url": "http://www.huels.org/dignissimos-error-sit-labore-quos.html",
"time": "2025-01-01T17:00:00.000000Z",
"tags": "",
"status": "past",
"rsvp_count": 97,
"description": "Consequatur debitis et id. Qui id totam temporibus quia ipsam.",
"uuid": "71edad68-e2ce-3042-9ff4-fd7f82df6cd1",
"data_as_of": "2025-01-01T12:00:00.000000Z",
"service_id": "9",
"service": "eventbrite",
"venue": {
"name": "est nostrum et voluptas consequatur",
"address": "5090 Agustin Plaza\nThielfort, VA 23923",
"city": "Estellehaven",
"state": "VA",
"zip": "37540",
"country": "KP",
"lat": "42.934149",
"lon": "61.623526"
},
"created_at": "2025-01-01T17:00:00.000000Z",
"is_paid": null
}
]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organizations API v0
This API provides access to organization data stored in the HackGreenville database.
Example request:
curl --request GET \
--get "https://hackgreenville.com/api/v0/orgs" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://hackgreenville.com/api/v0/orgs"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://hackgreenville.com/api/v0/orgs'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
[
{
"title": "minus",
"path": "http://reichel.info/",
"changed": "2025-01-01T17:00:00.000000Z",
"field_city": "Lake Robynland",
"field_event_service": null,
"field_events_api_key": null,
"field_focus_area": "fugit",
"field_homepage": "dolores",
"field_event_calendar_homepage": "https://www.lakin.com/veniam-sed-fuga-aspernatur-natus-earum",
"field_primary_contact_person": "facilis",
"field_org_status": "active",
"field_organization_type": "perferendis",
"field_year_established": 2025,
"field_org_tags": "",
"uuid": 123
}
]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Events API v1
This API provides access to event data stored in the HackGreenville database.
Example request:
curl --request GET \
--get "https://hackgreenville.com/api/v1/events?per_page=50&page=1&start_date=2025-01-01&end_date=2100-12-31&tags[]=17&sort_by=event_name&sort_direction=asc" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://hackgreenville.com/api/v1/events"
);
const params = {
"per_page": "50",
"page": "1",
"start_date": "2025-01-01",
"end_date": "2100-12-31",
"tags[0]": "17",
"sort_by": "event_name",
"sort_direction": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://hackgreenville.com/api/v1/events'
params = {
'per_page': '50',
'page': '1',
'start_date': '2025-01-01',
'end_date': '2100-12-31',
'tags[0]': '17',
'sort_by': 'event_name',
'sort_direction': 'asc',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": "71edad68-e2ce-3042-9ff4-fd7f82df6cd1",
"name": "Dolores dolorum amet iste laborum eius est dolor.",
"description": "Consequatur debitis et id. Qui id totam temporibus quia ipsam.",
"url": "http://www.huels.org/dignissimos-error-sit-labore-quos.html",
"starts_at": "2025-01-01T17:00:00.000000Z",
"ends_at": "2025-01-01T19:00:00.000000Z",
"rsvp_count": 97,
"status": "past",
"is_paid": null,
"organization": {
"id": 123,
"name": "Nash Corwin tech group!!!",
"url": "quasi",
"tags": []
},
"venue": {
"name": "est nostrum et voluptas consequatur",
"address": "5090 Agustin Plaza\nThielfort, VA 23923",
"city": "Estellehaven",
"state": {
"code": "VA",
"name": "VA"
},
"zipcode": "37540",
"country": "KP",
"location": {
"latitude": "42.934149",
"longitude": "61.623526"
}
},
"service": {
"name": "eventbrite",
"id": "9"
},
"created_at": "2025-01-01T17:00:00.000000Z",
"updated_at": "2025-01-01T17:00:00.000000Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organizations API v1
This API provides access to organization data stored in the HackGreenville database.
Example request:
curl --request GET \
--get "https://hackgreenville.com/api/v1/organizations?per_page=50&page=1&sort_by=title&sort_direction=asc" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://hackgreenville.com/api/v1/organizations"
);
const params = {
"per_page": "50",
"page": "1",
"sort_by": "title",
"sort_direction": "asc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://hackgreenville.com/api/v1/organizations'
params = {
'per_page': '50',
'page': '1',
'sort_by': 'title',
'sort_direction': 'asc',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"data": [
{
"id": 123,
"title": "minus",
"path": "http://reichel.info/",
"city": "Lake Robynland",
"service": null,
"service_api_key": null,
"focus_area": "fugit",
"website_url": "dolores",
"event_calendar_url": "https://www.lakin.com/veniam-sed-fuga-aspernatur-natus-earum",
"primary_contact": "facilis",
"status": "active",
"organization_type": "perferendis",
"established_year": 2025,
"tags": [],
"created_at": "2025-01-01T17:00:00.000000Z",
"updated_at": "2025-01-01T17:00:00.000000Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.