IPSC ELO API Documentation
Version 1.4 - 2025-05-08
Added endpoint shooterdivisionrankings
Version 1.3 - 2025-05-07
Removed www from URL
Version 1.2 - 2025-02-27
Added regions endpoint
Version 1.1 - 2025-02-25
Fixes: Typos, clarifications on endpoints, enhanced CSS styling for dark mode.
Version 1.0 - 2025-02-20
Initial release of the documentation and API.
This document serves as the public API documentation for ipscelo.com. It outlines the public API endpoints suitable for private third-party use.
Unauthorized and commercial use is prohibited.
The API is available at https://ipscelo.com/api.
Generally, this API follows RESTful principles with CRUD operations, responding to HTTP requests with JSON-encoded data and a HTTP status code.
Below are the main API endpoints you can interact with, along with their documentation. The curl examples provided can be executed from a command-line interface for easy testing of the API. Alternatively, opening the URL in a browser like Firefox (which features integrated JSON display mode) is another straightforward method to test and navigate the responses.
The JSON response structure is not detailed here since JSON is generally readable, and its format is quickly understandable using any JSON parsing tool or browser. If you encounter any discrepancies, missing details, or have questions about this documentation, please contact us at api@ipscelo.com.
Endpoint: /api/news
GET /api/news - Get all news items
Parameters
None
Responses
| HTTP Code |
Content-Type |
Response |
200 |
application/json; charset=UTF-8 |
JSON response string |
Example cURL
curl -X GET -H "Content-Type: application/json" https://ipscelo.com/api/news
GET /api/news/{newsid} - Get a specific news item
/api/news/{newsid} Parameters
| Name |
Type |
Data Type |
Description |
newsid |
Optional |
int |
The specific news item's numeric ID |
/api/news/{newsid} Responses
| HTTP Code |
Content-Type |
Response |
200 |
application/json; charset=UTF-8 |
JSON response string |
/api/news/{newsid} Example cURL
curl -X GET -H "Content-Type: application/json" https://ipscelo.com/api/news/100
Endpoint: /api/matchtypes
GET /api/matchtypes - Get all match types
Parameters
None
Responses
| HTTP Code |
Content-Type |
Response |
200 |
application/json; charset=UTF-8 |
JSON response string |
Example cURL
curl -X GET -H "Content-Type: application/json" https://ipscelo.com/api/matchtypes
Endpoint: /api/divisions
GET /api/divisions - Get all divisions
Parameters
None
Responses
| HTTP Code |
Content-Type |
Response |
200 |
application/json; charset=UTF-8 |
JSON response string |
Example cURL
curl -X GET -H "Content-Type: application/json" https://ipscelo.com/api/divisions
Endpoint: /api/elorankings
GET /api/elorankings?divisionid={divisionid} - Get the ELO rankings for a specified division ID
Parameters
| Name |
Type |
Data Type |
Description |
divisionid |
Required |
int |
The specific division's numeric ID |
Responses
| HTTP Code |
Content-Type |
Response |
200 |
application/json; charset=UTF-8 |
JSON response string |
400 |
application/json; charset=UTF-8 |
JSON error message |
Example cURL
curl -X GET -H "Content-Type: application/json" https://ipscelo.com/api/elorankings?divisionid=4
Endpoint: /api/shooterdivisionrankings
GET /api/shooterdivisionrankings/{shooterid} - Get the ELO rankings in all divisions for a specified shooter ID
Parameters
| Name |
Type |
Data Type |
Description |
shooterid |
Required |
int |
The specific shooter's numeric ID |
Responses
| HTTP Code |
Content-Type |
Response |
200 |
application/json; charset=UTF-8 |
JSON response string |
400 |
application/json; charset=UTF-8 |
JSON error message |
Example cURL
curl -X GET -H "Content-Type: application/json" https://ipscelo.com/api/shooterdivisionrankings/4
Endpoint: /api/matches
GET /api/matches - Get all matches
Parameters
None
Responses
| HTTP Code |
Content-Type |
Response |
200 |
application/json; charset=UTF-8 |
JSON response string |
Example cURL
curl -X GET -H "Content-Type: application/json" https://ipscelo.com/api/matches
GET /api/matches/{matchid} - Get a match by numeric ID
/api/matches/{matchid} Parameters
| Name |
Type |
Data Type |
Description |
matchid |
Optional |
int |
The specific match's numeric ID |
/api/matches/{matchid} Responses
| HTTP Code |
Content-Type |
Response |
200 |
application/json; charset=UTF-8 |
JSON response string |
/api/matches/{matchid} Example cURL
curl -X GET -H "Content-Type: application/json" https://ipscelo.com/api/matches/100
GET /api/matches?matchtypeid={matchtypeid} - Get all matches of a specific match type ID
/api/matches?matchtypeid={matchtypeid} Parameters
| Name |
Type |
Data Type |
Description |
matchtypeid |
Optional |
int |
The specific match type's numeric ID |
/api/matches?matchtypeid={matchtypeid} Responses
| HTTP Code |
Content-Type |
Response |
200 |
application/json; charset=UTF-8 |
JSON response string |
/api/matches?matchtypeid={matchtypeid} Example cURL
curl -X GET -H "Content-Type: application/json" https://ipscelo.com/api/matches?matchtypeid=1
GET /api/matches?limit={int} - Get a specified maximum number of recently added matches
/api/matches?limit={int} Parameters
| Name |
Type |
Data Type |
Description |
limit |
Optional |
int |
The number of matches to be returned |
/api/matches?limit={int} Responses
| HTTP Code |
Content-Type |
Response |
200 |
application/json; charset=UTF-8 |
JSON response string |
/api/matches?limit={int} Example cURL
curl -X GET -H "Content-Type: application/json" https://ipscelo.com/api/matches?limit=3
Endpoint: /api/categories
GET /api/categories - Get all categories
Parameters
None
Responses
| HTTP Code |
Content-Type |
Response |
200 |
application/json; charset=UTF-8 |
JSON response string |
Example cURL
curl -X GET -H "Content-Type: application/json" https://ipscelo.com/api/categories
Endpoint: /api/regions
GET /api/regions - Get all IPSC regions
Parameters
None
Responses
| HTTP Code |
Content-Type |
Response |
200 |
application/json; charset=UTF-8 |
JSON response string |
Example cURL
curl -X GET -H "Content-Type: application/json" https://ipscelo.com/api/regions
Endpoint: /api/stats
GET /api/stats - Get all site statistics
Parameters
None
Responses
| HTTP Code |
Content-Type |
Response |
200 |
application/json; charset=UTF-8 |
JSON response string |
Example cURL
curl -X GET -H "Content-Type: application/json" https://ipscelo.com/api/stats