v1.0.0
OAS 3.0.0

Clubs API

API for Hack Club clubs, built in Lua using Astra.

Server:https://clubapi.hackclub.com

Production server

Client Libraries

API Root

Returns Scalar API Docs

Responses
Request Example for get/
curl https://clubapi.hackclub.com/

{
   "status": 200

}

Get total number of clubs

Returns the total number of clubs registered.

Responses
Request Example for get/clubs
curl https://clubapi.hackclub.com/clubs

{
   "totalClubs": 1

}

Get amount of clubs in a country

Returns the count of clubs in the specified country.

Query Parameters
  • country
    Type: string
    required

    The country to filter by (e.g. "United States", "India")

Responses
Request Example for get/clubs/country
curl 'https://clubapi.hackclub.com/clubs/country?country='

{
   "clubs": 1

}

Get club info from name

Returns information about a club. Authentication is optional. Authenticated requests return more fields. .

Query Parameters
  • name
    Type: string
    required

    Name of the club

Responses
Request Example for get/club
curl 'https://clubapi.hackclub.com/club?name=' \

  --header 'Authorization: YOUR_SECRET_TOKEN'

{
   "club_name": null,
   "Est. # of Attendees": 1,
   "call_meeting_days": "string",
   "call_meeting_length": 1,
   "club_status": "string",
   "id": "string",
   "leader_slack_id": "string",
   "level": "string",
   "venue_address_country": "string"

}

Get leader from email

Checks if a leader exists by email. Authentication is optional. .

  • Authenticated: Returns the club name associated with the leader.
  • Unauthenticated: Returns true/false indicating existence.
Query Parameters
  • email
    Type: stringFormat: email
    required

    Email of the leader

Responses
Request Example for get/leader
curl 'https://clubapi.hackclub.com/leader?email=' \

  --header 'Authorization: YOUR_SECRET_TOKEN'

{
   "club_name": null

}

Change club leader's email

Updates a leader's email address. Requires Write permissions.

Query Parameters
  • email
    Type: stringFormat: email
    required

    Old email of the leader

  • new_email
    Type: stringFormat: email
    required

    New email of the leader

Responses
Request Example for post/leader
curl 'https://clubapi.hackclub.com/leader?email=&new_email='il=' \

  --request POST \

  --header 'Authorization: YOUR_SECRET_TOKEN'

{
   "new_email": "string"

}

Get club ships

Returns the list of ships (projects) associated with a club.

Query Parameters
  • club_name
    Type: string
    required

    Name of the club

Responses
Request Example for get/ships
curl 'https://clubapi.hackclub.com/ships?club_name=' \

  --header 'Authorization: YOUR_SECRET_TOKEN'

[
   {
     "workshop": "string",
     "Rating": 1,
     "code_url": "string",
     "club_name (from Clubs)": [
       "string"
     ],
     "YSWS–Name (from Unified YSWS Database)": [
       "string"
     ]
   }

]

Get club level

Returns the level of the specified club.

Query Parameters
  • club_name
    Type: string
    required

    Name of the club

Responses
Request Example for get/level
curl 'https://clubapi.hackclub.com/level?club_name='

{
   "level": "string"

}

Change club level

Updates the level of a club. Requires Write permissions.

Query Parameters
  • level
    Type: string
    required

    New level of the club

  • club_name
    Type: string
    required

    Name of the club

Responses
Request Example for post/level
curl 'https://clubapi.hackclub.com/level?level=&club_name='me=' \

  --request POST \

  --header 'Authorization: YOUR_SECRET_TOKEN'

{
   "new_level": "string"

}

Get club status

Returns the status of the specified club.

Query Parameters
  • club_name
    Type: string
    required

    Name of the club

Responses
Request Example for get/status
curl 'https://clubapi.hackclub.com/status?club_name='

{
   "status": "string"

}

Change club status

Updates the status of a club. Requires Write permissions.

Query Parameters
  • status
    Type: string
    required

    New status of the club

  • club_name
    Type: string
    required

    Name of the club

Responses
Request Example for post/status
curl 'https://clubapi.hackclub.com/status?status=&club_name='me=' \

  --request POST \

  --header 'Authorization: YOUR_SECRET_TOKEN'

{
   "new_status": "string"

}