Utvecklare och API
Bygg på Rekaros register och uppdragstorg
Samma handlingar som på rekaro.se, som REST och som MCP, bakom GADDR-inloggningen. Appen registreras en gång i konsolen, och användaren säger ja till varje behörighet.
| Vad | Adress |
|---|---|
| REST | https://api.gaddr.com/v1/rekaro |
| OpenAPI 3.1 | https://api.gaddr.com/v1/rekaro/openapi.json |
| MCP | https://mcp.gaddr.com/rekaro |
| Utfärdare | https://auth.gaddr.com/api/auth |
| Konsolen | https://auth.gaddr.com/developers |
| Nivåerna | https://api.gaddr.com/v1/plans |
Registrera appen
Appen registreras i konsolen på auth.gaddr.com/developers. Välj typen som passar:
- Webbapp med backend får ett
client_idoch en klienthemlighet som visas en gång. Den autentiserar sig medclient_secret_basicellerprivate_key_jwt. - Publik klient, som en mobilapp, ett skrivbordsprogram, en webbapp utan backend eller en MCP-klient, får ett
client_idoch använder PKCE S256. - Server till server använder
client_credentialsoch läser publika uppgifter, som registret, utan en användare.
En MCP-klient kan också registrera sig själv med Client ID Metadata Documents eller dynamisk registrering.
Logga in användaren
Inloggningen är OAuth 2.1 med authorization code och PKCE S256 hos utfärdaren https://auth.gaddr.com/api/auth. Skicka resource=https://api.gaddr.com både i auktorisationen och i tokenanropet. Åtkomsttoken skickas i rubriken Authorization: Bearer och aldrig i en adress.
Kontorutterna agerar som användaren på rekaro.se. Användaren loggar in på rekaro.se med GADDR en gång och kopplar kontot, sedan når appen det. Registret läses utan koppling.
Behörigheterna
rekaro:write innefattar rekaro:read.
rekaro:send och rekaro:admin innefattar ingenting, begärs
var för sig och visas var för sig på samtyckessidan.
| Scope | Ger |
|---|---|
rekaro:read | läsa registret och det kontot själv ser |
rekaro:write | ändra sådant som går att ta tillbaka, till exempel bevakningar |
rekaro:send | skicka till en annan part: uppdrag, anbud, frågor, tilldelningar, meddelanden och inbjudningar |
rekaro:admin | arbetsytans medlemmar och Rekaros driftverktyg |
Handlingar som når någon annan
Ett uppdrag, ett anbud, en fråga, en tilldelning, ett dialogmeddelande och en inbjudan går i två steg. POST .../prepare returnerar en sammanfattning och ett confirmation_id som gäller i tio minuter, och POST .../confirm utför handlingen när användaren har sagt ja. Varje sådan POST kräver rubriken Idempotency-Key: samma nyckel två gånger ger samma svar och utför aldrig handlingen två gånger.
Svar och fel
Svaren är JSON. Fel kommer som application/problem+json med type, title, status, detail, instance och request_id, och varje svar bär X-Request-Id. Listor tar limit och cursor och svarar med next_cursor.
Gränser
Gränserna följer appens nivå. Nivåerna och deras gränser publiceras på ett ställe: developers.gaddr.com/nivaer för den som läser, och api.gaddr.com/v1/plans för den som hämtar dem i kod. Konsolen visar appens nivå och användning. Vid gränsen svarar API:t 429 med Retry-After, RateLimit-Policy och RateLimit.
Rutterna
En rutt per handling på rekaro.se, med samma behörighet som verktyget med samma namn i OpenAPI-beskrivningen.
| Handling | Rutt | Scope |
|---|---|---|
| Sök leverantörer i registret | GET /v1/rekaro/companies | rekaro:read |
| Läs ett företags profil med källa per uppgift | GET /v1/rekaro/companies/profile | rekaro:read |
| Läs omdömena om ett företag | GET /v1/rekaro/companies/reviews | rekaro:read |
| Se ett företags offentliga affärer | GET /v1/rekaro/companies/procurements | rekaro:read |
| Jämför leverantörer på registrets kriterier | POST /v1/rekaro/companies/compare | rekaro:read |
| Handling | Rutt | Scope |
|---|---|---|
| Se uppdragen på torget, egna uppdrag och egna anbud | GET /v1/rekaro/assignments | rekaro:read |
| Läs ett uppdrag med frågor och de anbud rollen får se | GET /v1/rekaro/assignments/{id} | rekaro:read |
| Se leverantörer som passar ett eget uppdrag | GET /v1/rekaro/assignments/{id}/matches | rekaro:read |
| Lägga ut ett uppdrag, en inbjudan till anbud | POST /v1/rekaro/assignments/preparePOST /v1/rekaro/assignments/confirm | rekaro:send |
| Lämna ett anbud på ett uppdrag | POST /v1/rekaro/assignments/{id}/bids/preparePOST /v1/rekaro/bids/confirm | rekaro:send |
| Ställa en offentlig fråga på ett uppdrag | POST /v1/rekaro/assignments/{id}/questions/preparePOST /v1/rekaro/questions/confirm | rekaro:send |
| Tilldela ett uppdrag till ett anbud | POST /v1/rekaro/assignments/{id}/award/preparePOST /v1/rekaro/awards/confirm | rekaro:send |
| Läsa den privata dialogen om ett anbud | GET /v1/rekaro/assignments/{id}/bids/{anbud}/messages | rekaro:read |
| Skicka ett meddelande i anbudsdialogen | POST /v1/rekaro/assignments/{id}/bids/{anbud}/messages/preparePOST /v1/rekaro/bid-messages/confirm | rekaro:send |
| Läsa notiserna om uppdrag | GET /v1/rekaro/notices | rekaro:read |
| Markera en notis som läst | POST /v1/rekaro/notices/{id}/read | rekaro:write |
| Handling | Rutt | Scope |
|---|---|---|
| Se kontot, planen och gränserna | GET /v1/rekaro/account | rekaro:read |
| Ändra kontotyp och kontouppgifter | PATCH /v1/rekaro/account | rekaro:write |
| Se plan, kvot och egna uppdrag | GET /v1/rekaro/accountGET /v1/rekaro/assignments | rekaro:read |
| Se bevakade företag | GET /v1/rekaro/watches | rekaro:read |
| Bevaka ett företag | PUT /v1/rekaro/watches/{orgnr} | rekaro:write |
| Sluta bevaka ett företag | DELETE /v1/rekaro/watches/{orgnr} | rekaro:write |
| Se arbetsytans medlemmar och inbjudningar | GET /v1/rekaro/team | rekaro:read |
| Bjuda in en medlem till arbetsytan | POST /v1/rekaro/team/invitations/preparePOST /v1/rekaro/team/invitations/confirm | rekaro:adminrekaro:send |
| Ta bort en medlem ur arbetsytan | DELETE /v1/rekaro/team/members/{id} | rekaro:admin |
| Återkalla en öppen inbjudan | DELETE /v1/rekaro/team/invitations/{inbjudan} | rekaro:admin |
| Läsa kontots säkerhetslogg | GET /v1/rekaro/account/events | rekaro:read |
| Hämta allt kontotjänsten har om kontot | GET /v1/rekaro/account/export | rekaro:read |
| Hämta kontots uppdrag, anbud, dialoger och notiser | GET /v1/rekaro/account/export/assignments | rekaro:read |
| Handling | Rutt | Scope |
|---|---|---|
| Se insamlingskällorna, deras nivå och rättsliga status | GET /v1/rekaro/sources | rekaro:admin |
| Läsa vad en insamlingskörning kom fram till | GET /v1/rekaro/harvest/candidates | rekaro:admin |
| Föreslå en insamlingskörning för en människa att starta | POST /v1/rekaro/harvest/proposals | rekaro:admin |
| Föreslå en uppgift om ett företag för granskning | POST /v1/rekaro/companies/proposals | rekaro:write |
Ett första anrop
curl "https://api.gaddr.com/v1/rekaro/assignments?vy=oppna" \
-H "Authorization: Bearer $TOKEN"
AI-agenter når samma handlingar som MCP-verktyg. Hur Claude, ChatGPT och Cursor kopplas in står under MCP för AI-agenter.