Intro
There is basic API access for many features of the site. Primarily this is developed for internal use, but some users may get benefit from calling these APIs directly.
Important note: do not abuse these APIs please. First, do not call excessively quickly which can degrade the performance of the site. Second, do not use APIs to "cheat", spam, or otherwise disrupt the intended usage of the site.
Access
First, if you want to call authenticated APIs you will create an API token for a user here. This page has a little information on how this works.
Calling APIs
Call an API passing in an authorization token via the `X-Api-Key` header for the APIs that require authentication.
Example
Get default problem list:
curl -X 'GET' 'https://www.goproblems.com/api/v2/problems?https://www.goproblems.com/api/v2/problems?' -H 'accept: application/json'
Get easy canon problems:
curl -X 'GET' \ 'https://goproblems.com/api/v2/problems?result_number=10&difficulty_from_elo=0&difficulty_to_elo=1000&genres%5B%5D=life%20and%20death&genres%5B%5D=joseki&genres%5B%5D=fuseki&genres%5B%5D=tesuji&genres%5B%5D=best%20move&genres%5B%5D=endgame&sort_direction=desc&type=canon&statuses%5B%5D=untried&statuses%5B%5D=tried_but_not_solved&statuses%5B%5D=solved&rating_from=1&rating_to=5&include_not_rated=false' \ -H 'accept: application/json' Get problem details: curl -X 'GET' \ 'https://goproblems.com/api/v2/problems/5' \ -H 'accept: application/json'