Olá Marcelo,
Sua API Rest pode ser feita em qualquer linguagem: Java, PHP, C#, Python, Ruby, Scala, JavaScript, etc. Sendo assim, o primeiro pré-requisito é dominar alguma linguagem/plataforma no back-end.
Existe toda uma regrinha no que diz respeito aos nomes das URLs, dos verbos http usados e um monte detalhes. Tudo isso você consegue aprender estudando sobre REST.
Não necessariamente REST trabalha com JSON, aliás, um endpoint pode retornar qualquer estrutura de dados, inclusive SOAP, porém o JSON é muito comum porque é a estrutura de dados mais simples de se trabalhar do que um XML ou um SOAP.
Depois que você escolher uma linguagem/plataforma no lado do servidor, basta você pesquisar quais são os métodos ou funções que convertem determinada estrutura de dado no formato JSON.
Resumindo: minha resposta é genérica, porque criar uma API rest envolve noções de server side, outra linguagem de programação, acesso à banco de dados, criação de rotas e tudo isso depende da plataforma específica.
Se eu fosse explicar como fazer isso, por exemplo, no lado do servidor com JavaScript, seria uns 3 treinamentos em um hehehe :)
Então, minha sugestão é que você procure no alura cursos de REST e de alguma tecnologia do lado do servidor para que você consiga criar seus próprios endpoints.
Tudo bem? Espero ter lançado uma luz sobre o problema.