> ## Documentation Index
> Fetch the complete documentation index at: https://docs.befailproof.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# HTTP API

> Failproof AI Cloud `/v1` API के लिए प्रमाणीकरण करें और जेनरेट किए गए endpoint संदर्भ का उपयोग करें।

सार्वजनिक API आपके Failproof AI डैशबोर्ड origin पर `/v1` के तहत उपलब्ध है।

## कुंजी बनाएं और अनुरोध करें

<Tabs>
  <Tab title="Dashboard">
    1. **Administration → Keys** खोलें, **Create key** चुनें, और वह सबसे संकीर्ण अनुमति प्रीसेट चुनें जो आपके integration को कवर करे।
    2. केवल आवश्यकता होने पर ही अलग-अलग grants जोड़ें, कुंजी बनाएं, और इसका एकबारी secret कॉपी करें।
    3. `/v1/sessions` के लिए एक परीक्षण अनुरोध करें और Keys पृष्ठ पर पुष्टि करें कि कुंजी सक्रिय रहती है।
    4. जब integration की स्वामित्व बदले, तो इसके action मेनू से कुंजी को rotate या disable करें।

           <img src="https://mintcdn.com/exosphere/WgPwQzedeDNwJBTy/images/dashboard/key-create.png?fit=max&auto=format&n=WgPwQzedeDNwJBTy&q=85&s=a428bdae79f837471acb66414ff6455b" alt="अनुमति presets और अलग-अलग grants के साथ नई API कुंजी drawer।" width="2940" height="1604" data-path="images/dashboard/key-create.png" />

    ऊपर दिखाई गई creation drawer है। एकबारी secret केवल तभी दिखाई देता है जब आप **create** चुनते हैं; उस पुष्टि को बंद करने से पहले इसे कॉपी करें।
  </Tab>

  <Tab title="CLI">
    एक read कुंजी बनाएं और इसे `fp` या `curl` के साथ सीधे उपयोग करें:

    ```bash theme={null}
    fp keys create reliability-reader \
      --permission-set read-only

    fp --api-key <key> sessions --since 24h
    ```

    ```bash theme={null}
    curl "https://app.befailproof.ai/v1/sessions?limit=20" \
      -H "Authorization: Bearer $FAILPROOFAI_KEY"
    ```
  </Tab>
</Tabs>

कुंजियां एक organization और permission set के लिए scoped हैं। endpoint की आवश्यक अनुमति के बिना एक अनुरोध `403` लौटाता है और missing अनुमति की पहचान करता है।

## Organization selection

एक organization कुंजी अपने organization पर स्वचालित रूप से कार्य करती है। एक instance-scoped कुंजी प्रति अनुरोध एक organization चुन सकती है:

<Tabs>
  <Tab title="Dashboard">
    **Administration → Keys** खोलने से पहले डैशबोर्ड header में organization switcher का उपयोग करें। वहां बनाई गई कुंजियां चयनित organization से संबंधित हैं। URL और कुंजी विवरण में organization slug की पुष्टि करें, फिर credential को automation में कॉपी करें।
  </Tab>

  <Tab title="CLI">
    command से पहले `--org` का उपयोग करें, या एक instance-scoped API कुंजी के लिए organization header भेजें।

    ```bash theme={null}
    fp orgs list
    fp --org reliability-team sessions --since 24h
    ```

    ```bash theme={null}
    curl "https://app.befailproof.ai/v1/usage" \
      -H "Authorization: Bearer $FAILPROOFAI_KEY" \
      -H "X-AgentEye-Org: reliability-team"
    ```
  </Tab>
</Tabs>

इस section में जेनरेट किए गए endpoint पृष्ठों का उपयोग करें वर्तमान paths, parameters, permission आवश्यकताओं, और status codes के लिए। विशिष्टता server route annotations से जेनरेट की गई है और `/v1` router के विरुद्ध जांची गई है।

वर्तमान विशिष्टता में पूर्ण route, method, parameter, permission, और status-code कवरेज है। कुछ response bodies जानबूझकर untyped हैं क्योंकि server अभी भी उन्हें dynamic JSON के रूप में बनाता है। किसी endpoint के चारों ओर एक strongly typed client जेनरेट करने से पहले एक वास्तविक response की जांच करें जिसके पास response schema नहीं है।

JSON writes के लिए `Content-Type: application/json` का उपयोग करें। `401` को missing या invalid authentication के रूप में, `403` को required permission के बिना एक valid identity के रूप में, `404` को missing या organization-inaccessible resource के रूप में, `409` को एक state conflict के रूप में, और `422` को एक invalid field या permission value के रूप में मानें। Error responses में एक human-readable message शामिल होता है; permission failures required grant का नाम भी देती हैं।

<Warning>
  Policy enforcement deployment को जानबूझकर सामान्य सार्वजनिक `/v1` surface के बाहर प्रबंधित किया जाता है। समर्थित Cloud deployment workflow का उपयोग करें।
</Warning>
