Documentação adicional pode ser acessada em http://localhost:3000/api-docs seguindo o padrão openapi utilizando a gem swagger_rails que também proporciona testes de integração (baseado nas rotas).
A API é composta de recursos competition(com diversos subtipos), athlete e score Cada recurso como estipulado em jsonapi tem o formato:
Abaixo um exemplo completo para atleta, nos exemplos futuros ignoraremos relationships por simplicidade
######Criação de competição Para criar uma nova competição deve-se enviar um POST para rota /v1/competitions
Deve-se enviar o body no formato abaixo. O atributo type deve ser um dos listados em /v1/competitions/types
######Atualizar competição Para atualizacao de uma competição deve-se utilizar o mesmo formato, Só é necessário incluit o atributo alterado mas deve-se também incluir o id do recurso como abaixo:
O recurso athlete tem comportamento similar a competition. O formato para criação de um novo athlete é:
Update é feito da mesma forma que os recursos anteriores na mesma rota realizda no post e contendo o id
É possível obter o rank de uma competição na rota /v1/competitions/{id}/rank Será listado o melhor score do atleta (no caso de múltiplis) ordenados do melhor para o pior. Será mostrado nos atributos também a competição e atleta
Os links de paginação são retornados numa listagem com os seguintes campos (quando nao aplicavéis alguns serão omitidos)
É possível filtrar os resultados para os recursos athlete e competition por algum atributo com o parametro filter[attr] por exemplo com a rota