BizGov opisuje swoją ofertę maszynowo. Agent nie musi czytać tej strony — wystarczy mu manifest.
/api/agent/manifest to jeden dokument JSON opisujący całą ofertę: dostępne endpointy wraz z nazwami parametrów, sposób uwierzytelnienia, stawki, jednostkę rozliczeniową i limity zapytań. Wszystkie liczby pochodzą z tego samego źródła, z którego nalicza serwer, więc manifest nie może obiecać innej ceny niż faktyczna.
Każda strona serwisu wskazuje go nagłówkiem Link: <…>; rel="service-desc", więc agent trafia do niego bez czytania treści — wystarczy żądanie HEAD.
Wyszukiwanie jest bezpłatne i zwraca wyniki z ukrytymi danymi kontaktowymi. Płaci się dopiero za odsłonięcie konkretnej firmy — a jednostką jest firma, nie żądanie: ta sama firma odpytana ponownie w tym samym miesiącu kalendarzowym jest już darmowa, razem z jej grafem powiązań, finansami i odpisami.
Zasoby płatne odpowiadają kodem 402 i podają w treści listę wariantów zapłaty w polu accepts, a w nagłówku Link: rel="payment". To nie jest błąd, tylko normalna, spodziewana odpowiedź — ponawianie żądania nic nie zmieni, dopóki nie ma pokrycia kosztu.
Nieprawidłowy lub odwołany klucz to 401 z kodem invalid_api_key, a nie 402. Brak tożsamości i brak środków to dwie różne sytuacje: doładowanie portfela nie naprawi złego klucza.
Nagłówek X-API-Key. Klucz wydaje każde zalogowane konto — dostęp programistyczny nie jest pozycją pakietu, tylko osobnym produktem rozliczanym z przedpłaconego portfela kredytów. Klucz założysz w panelu konta .
Żądania z kluczem API działają także z przeglądarki — ta powierzchnia przyjmuje żądania z dowolnej domeny, bez ciasteczek.
Schematy x402 i MPP są zadeklarowane w manifeście jako not_enabled. Dziś portfel trzeba doładować jednorazowo ręcznie; potem klucz API działa już bez żadnej interakcji. Warstwa 402 jest natywna i gotowa je przyjąć, gdy zostaną włączone.
/sitemap-companies/{n}.xml. Specyfikacja OpenAPI bywa wystawiona pod /api/docs-json, ale nie zawsze. Nie zgaduj: manifest podaje jej adres w polu service.openapi, a gdy dokumentacja nie jest wystawiona, pole ma wartość null — komplet endpointów i tak znajdziesz w samym manifeście.