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