### GET /api/monitor-projects/{PROJECT_ID} Source: https://geo.sayori.org/docs Loads an existing monitoring project using its project ID and management token. The management token authorizes project reads and other operations. ```APIDOC ## GET /api/monitor-projects/{PROJECT_ID} ### Description Loads an existing monitoring project using its project ID and management token. The management token authorizes project reads and other operations. ### Method GET ### Endpoint https://geo-api.sayori.org/api/monitor-projects/{PROJECT_ID} ### Parameters #### Path Parameters - **PROJECT_ID** (string) - Required - The unique identifier of the monitoring project. #### Headers - **X-Project-Token** (string) - Required - The management token for the project. ### Request Example ``` curl https://geo-api.sayori.org/api/monitor-projects/PROJECT_ID \ -H "X-Project-Token: MANAGEMENT_TOKEN" ``` ### Response #### Success Response (200) - **project** (object) - The loaded project details. #### Response Example (No explicit response example provided in the source.) ``` -------------------------------- ### Load a monitoring project with curl Source: https://geo.sayori.org/docs Loads a monitoring project using its project ID and management token. The token authorizes project reads, query changes, runs, history, rotation, and deletion. Copy the token immediately after project creation because GeoScore stores only a peppered hash and cannot recover it. ```bash curl https://geo-api.sayori.org/api/monitor-projects/PROJECT_ID \ -H "X-Project-Token: MANAGEMENT_TOKEN" ``` -------------------------------- ### POST /api/monitor-projects/{PROJECT_ID}/byok-runs Source: https://geo.sayori.org/docs Runs a monitoring request with a custom API provider. The API key and base URL are request-scoped and cleared after the request. ```APIDOC ## POST /api/monitor-projects/{PROJECT_ID}/byok-runs ### Description Runs a monitoring request with a custom API provider. The API key and base URL are request-scoped and cleared after the request. ### Method POST ### Endpoint https://geo-api.sayori.org/api/monitor-projects/{PROJECT_ID}/byok-runs ### Parameters #### Path Parameters - **PROJECT_ID** (string) - Required - The unique identifier of the monitoring project. #### Headers - **Content-Type** (string) - Required - Must be `application/json`. - **X-Project-Token** (string) - Required - The management token for the project. - **X-API-Key** (string) - Required - The request-scoped API key for the custom provider. #### Request Body - **api_base_url** (string) - Required - The provider root URL (e.g., `https://api.example.com`). GeoScore automatically adds `/v1` if not present. - **api_model** (string) - Required - The model ID to use for the monitoring run. ### Request Example ``` curl -X POST https://geo-api.sayori.org/api/monitor-projects/PROJECT_ID/byok-runs \ -H "Content-Type: application/json" \ -H "X-Project-Token: MANAGEMENT_TOKEN" \ -H "X-API-Key: REQUEST_SCOPED_API_KEY" \ -d '{"api_base_url":"https://api.example.com","api_model":"model-id"}' ``` ### Response #### Success Response (200) - **run_id** (string) - The identifier of the monitoring run. - **status** (string) - The status of the run. #### Response Example (No explicit response example provided in the source.) ``` -------------------------------- ### Run monitoring once with custom API using curl Source: https://geo.sayori.org/docs Runs monitoring once with a custom API provider. The provider root is pasted as api_base_url and GeoScore automatically adds /v1; if you paste /models or /chat/completions, it returns to the matching API root before sending the request. The API key and Base URL are cleared after the request and are not stored, placed in the URL, or included in exports. ```bash curl -X POST https://geo-api.sayori.org/api/monitor-projects/PROJECT_ID/byok-runs \ -H "Content-Type: application/json" \ -H "X-Project-Token: MANAGEMENT_TOKEN" \ -H "X-API-Key: REQUEST_SCOPED_API_KEY" \ -d '{"api_base_url":"https://api.example.com","api_model":"model-id"}' ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.