aburrides nuzur

Deployed API — how to reach it. Every command below targets https://api.aburrides.com, the address you used to open this page.

gRPC API

Reachable at api.aburrides.com — the same address as this page. List services:

grpcurl api.aburrides.com list

Inside the container gRPC listens on port 6009, behind the proxy; that port is not reachable from outside.

REST API

Base https://api.aburrides.com/v1. Example — list country:

curl https://api.aburrides.com/v1/countries

Inside the container HTTP listens on port 8080, behind the proxy; that port is not reachable from outside. Collection paths are plural and kebab-cased.

Authentication

JWT — sign in for a token, then send Authorization: Bearer <token>. Signin answers with {"Token":"...","Expires":"..."} — the field names are capitalised.

curl -s -X POST https://api.aburrides.com/signin -H 'Content-Type: application/json' -d '{"email":"...","password":"..."}'

End to end:

TOKEN=$(curl -s -X POST https://api.aburrides.com/signin -H 'Content-Type: application/json' -d '{"email":"...","password":"..."}' | jq -r .Token)
curl https://api.aburrides.com/v1/countries -H "Authorization: Bearer $TOKEN"
grpcurl -H "authorization: Bearer $TOKEN" api.aburrides.com list

Also POST /refresh and POST /validate, on the same address.

These endpoints are served here whether or not a REST API is enabled — a gRPC-only deployment still signs in over HTTP at this address. A 401 from signin means the email matched no user row or the password was wrong; a user row must exist in your user entity with a bcrypt hash in its password column, not a plaintext password.

Entities