{"openapi":"3.1.0","info":{"title":"hookjar v0","version":"0.1.0"},"paths":{"/":{"get":{"summary":"Landing","operationId":"landing__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/llms.txt":{"get":{"summary":"Llms Txt","operationId":"llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/terms":{"get":{"summary":"Terms","operationId":"terms_terms_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/about":{"get":{"summary":"About","operationId":"about_about_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/vs":{"get":{"summary":"Vs Index","operationId":"vs_index_vs_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/vs/{slug}":{"get":{"summary":"Vs Page","operationId":"vs_page_vs__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/endpoints":{"post":{"summary":"Create Endpoint","operationId":"create_endpoint_endpoints_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/h/{ep_id}":{"patch":{"summary":"Capture Root","operationId":"capture_root_h__ep_id__patch","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"summary":"Capture Root","operationId":"capture_root_h__ep_id__patch","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Capture Root","operationId":"capture_root_h__ep_id__patch","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Capture Root","operationId":"capture_root_h__ep_id__patch","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"options":{"summary":"Capture Root","operationId":"capture_root_h__ep_id__patch","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Capture Root","operationId":"capture_root_h__ep_id__patch","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Capture Root","operationId":"capture_root_h__ep_id__patch","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/h/{ep_id}/{path_tail}":{"patch":{"summary":"Capture With Tail","operationId":"capture_with_tail_h__ep_id___path_tail__patch","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}},{"name":"path_tail","in":"path","required":true,"schema":{"type":"string","title":"Path Tail"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"summary":"Capture With Tail","operationId":"capture_with_tail_h__ep_id___path_tail__patch","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}},{"name":"path_tail","in":"path","required":true,"schema":{"type":"string","title":"Path Tail"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Capture With Tail","operationId":"capture_with_tail_h__ep_id___path_tail__patch","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}},{"name":"path_tail","in":"path","required":true,"schema":{"type":"string","title":"Path Tail"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Capture With Tail","operationId":"capture_with_tail_h__ep_id___path_tail__patch","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}},{"name":"path_tail","in":"path","required":true,"schema":{"type":"string","title":"Path Tail"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"options":{"summary":"Capture With Tail","operationId":"capture_with_tail_h__ep_id___path_tail__patch","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}},{"name":"path_tail","in":"path","required":true,"schema":{"type":"string","title":"Path Tail"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Capture With Tail","operationId":"capture_with_tail_h__ep_id___path_tail__patch","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}},{"name":"path_tail","in":"path","required":true,"schema":{"type":"string","title":"Path Tail"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Capture With Tail","operationId":"capture_with_tail_h__ep_id___path_tail__patch","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}},{"name":"path_tail","in":"path","required":true,"schema":{"type":"string","title":"Path Tail"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/e/{ep_id}":{"get":{"summary":"List Captures","operationId":"list_captures_e__ep_id__get","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/e/{ep_id}/edit":{"get":{"summary":"Endpoint Edit","operationId":"endpoint_edit_e__ep_id__edit_get","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/e/{ep_id}/config":{"post":{"summary":"Endpoint Config Save","operationId":"endpoint_config_save_e__ep_id__config_post","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/e/{ep_id}/password":{"post":{"summary":"Endpoint Password Set","operationId":"endpoint_password_set_e__ep_id__password_post","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/e/{ep_id}":{"get":{"summary":"Api List Captures","operationId":"api_list_captures_api_e__ep_id__get","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/e/{ep_id}/r/{cap_id}":{"get":{"summary":"Api Capture Detail","operationId":"api_capture_detail_api_e__ep_id__r__cap_id__get","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}},{"name":"cap_id","in":"path","required":true,"schema":{"type":"integer","title":"Cap Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/e/{ep_id}/config":{"post":{"summary":"Api Set Config","description":"Accept a JSON body matching the rule-engine schema.\n\nSame auth as the edit page: blocked by basic-auth if a bin password is set,\nopen otherwise.","operationId":"api_set_config_api_e__ep_id__config_post","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/e/{ep_id}/r/{cap_id}":{"get":{"summary":"Capture Detail","operationId":"capture_detail_e__ep_id__r__cap_id__get","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}},{"name":"cap_id","in":"path","required":true,"schema":{"type":"integer","title":"Cap Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/e/{ep_id}/r/{cap_id}/replay":{"post":{"summary":"Capture Replay","description":"Server-side replay of a captured request against a user-supplied URL.\n\nRefuses anything not on the public internet (loopback/private/link-local\nblocked in code — see replay.execute_replay), enforces a per-fingerprint\nrate limit, conservative timeout + response-size cap.","operationId":"capture_replay_e__ep_id__r__cap_id__replay_post","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}},{"name":"cap_id","in":"path","required":true,"schema":{"type":"integer","title":"Cap Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ivan/login":{"get":{"summary":"Admin Login Form","operationId":"admin_login_form_ivan_login_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/ivan/auth/google":{"post":{"summary":"Admin Auth Google","description":"Receive the JWT credential from the GIS button, verify, set session.","operationId":"admin_auth_google_ivan_auth_google_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/ivan/logout":{"post":{"summary":"Admin Logout","operationId":"admin_logout_ivan_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/ivan/":{"get":{"summary":"Admin Dashboard","operationId":"admin_dashboard_ivan__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/ivan":{"get":{"summary":"Admin Dashboard","operationId":"admin_dashboard_ivan_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/ivan/endpoints":{"get":{"summary":"Admin Endpoints","operationId":"admin_endpoints_ivan_endpoints_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/ivan/endpoints/{ep_id}/disable":{"post":{"summary":"Admin Disable","operationId":"admin_disable_ivan_endpoints__ep_id__disable_post","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ivan/endpoints/{ep_id}/enable":{"post":{"summary":"Admin Enable","operationId":"admin_enable_ivan_endpoints__ep_id__enable_post","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ivan/endpoints/{ep_id}/delete":{"post":{"summary":"Admin Delete Endpoint","operationId":"admin_delete_endpoint_ivan_endpoints__ep_id__delete_post","parameters":[{"name":"ep_id","in":"path","required":true,"schema":{"type":"string","title":"Ep Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ivan/captures/{cap_id}/delete":{"post":{"summary":"Admin Delete Capture","operationId":"admin_delete_capture_ivan_captures__cap_id__delete_post","parameters":[{"name":"cap_id","in":"path","required":true,"schema":{"type":"integer","title":"Cap Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}