API access

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'