{"openapi":"3.1.0","info":{"title":"402ai","version":"0.1.0"},"paths":{"/":{"get":{"summary":"Root","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/catalog":{"get":{"summary":"Api Catalog","operationId":"api_catalog_api_v1_catalog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Api Catalog Api V1 Catalog Get"}}}}}}},"/api/v1/health":{"get":{"summary":"Health","operationId":"health_api_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/metrics":{"get":{"summary":"Metrics","operationId":"metrics_api_v1_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/satring-verify":{"get":{"summary":"Satring Verify","operationId":"satring_verify__well_known_satring_verify_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/topup":{"post":{"summary":"Create Topup Invoice","operationId":"create_topup_invoice_api_v1_topup_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/topup/claim":{"post":{"summary":"Claim Topup Invoice","operationId":"claim_topup_invoice_api_v1_topup_claim_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/topup/status/{payment_hash}":{"get":{"summary":"Topup Status","description":"Check if a topup invoice has been paid via phoenixd.\n\nIf paid, auto-claims the invoice and returns the token + balance.","operationId":"topup_status_api_v1_topup_status__payment_hash__get","parameters":[{"name":"payment_hash","in":"path","required":true,"schema":{"type":"string","title":"Payment Hash"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/topup/coins":{"get":{"summary":"Topup Coins","description":"Return curated list of supported deposit coins with min/max amounts.","operationId":"topup_coins_api_v1_topup_coins_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/topup/swap":{"post":{"summary":"Create Swap Topup","description":"Create a crypto swap topup: user deposits any coin, SideShift pays our Lightning invoice.","operationId":"create_swap_topup_api_v1_topup_swap_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/topup/swap/status/{shift_id}":{"get":{"summary":"Swap Topup Status","description":"Poll swap status. Once SideShift settles the Lightning invoice, auto-claim the topup.","operationId":"swap_topup_status_api_v1_topup_swap_status__shift_id__get","parameters":[{"name":"shift_id","in":"path","required":true,"schema":{"type":"string","title":"Shift Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-for-hire/me":{"get":{"summary":"Hire Me","description":"Account info. Requires X-Token (free, no sats cost).","operationId":"hire_me_api_v1_ai_for_hire_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/ai-for-hire/workers":{"get":{"summary":"Hire Workers","description":"Compatibility route for marketplace worker listings.","operationId":"hire_workers_api_v1_ai_for_hire_workers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/ai-for-hire/tasks":{"get":{"summary":"Hire List Tasks","description":"List tasks. Free, no auth required.","operationId":"hire_list_tasks_api_v1_ai_for_hire_tasks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Hire Create Task","description":"Post a new task. Costs 50 sats (X-Token balance or L402).","operationId":"hire_create_task_api_v1_ai_for_hire_tasks_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/ai-for-hire/tasks/{task_id}":{"get":{"summary":"Hire Get Task","description":"Get task detail. Free, no auth required.","operationId":"hire_get_task_api_v1_ai_for_hire_tasks__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-for-hire/tasks/{task_id}/quotes":{"post":{"summary":"Hire Create Quote","description":"Submit a quote. Costs 10 sats (X-Token balance or L402).","operationId":"hire_create_quote_api_v1_ai_for_hire_tasks__task_id__quotes_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-for-hire/tasks/{task_id}/quotes/{quote_id}/accept":{"post":{"summary":"Hire Accept Quote","description":"Accept a quote and lock escrow. Free, X-Token required. Buyer needs sufficient balance.","operationId":"hire_accept_quote_api_v1_ai_for_hire_tasks__task_id__quotes__quote_id__accept_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"quote_id","in":"path","required":true,"schema":{"type":"string","title":"Quote Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-for-hire/tasks/{task_id}/quotes/{quote_id}":{"patch":{"summary":"Hire Update Quote","description":"Update a pending quote (contractor only). Free, X-Token required.","operationId":"hire_update_quote_api_v1_ai_for_hire_tasks__task_id__quotes__quote_id__patch","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"quote_id","in":"path","required":true,"schema":{"type":"string","title":"Quote Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-for-hire/tasks/{task_id}/quotes/{quote_id}/messages":{"post":{"summary":"Hire Send Quote Message","description":"Send a message on a quote thread. Free, X-Token required. Buyer or contractor only.","operationId":"hire_send_quote_message_api_v1_ai_for_hire_tasks__task_id__quotes__quote_id__messages_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"quote_id","in":"path","required":true,"schema":{"type":"string","title":"Quote Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Hire Get Quote Messages","description":"Get messages on a quote thread. Free, X-Token required. Buyer or contractor only.","operationId":"hire_get_quote_messages_api_v1_ai_for_hire_tasks__task_id__quotes__quote_id__messages_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"quote_id","in":"path","required":true,"schema":{"type":"string","title":"Quote Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-for-hire/tasks/{task_id}/deliver":{"post":{"summary":"Hire Deliver","description":"Upload delivery. Free, X-Token required.","operationId":"hire_deliver_api_v1_ai_for_hire_tasks__task_id__deliver_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-for-hire/tasks/{task_id}/confirm":{"post":{"summary":"Hire Confirm","description":"Confirm delivery and release escrow. Free, X-Token required.","operationId":"hire_confirm_api_v1_ai_for_hire_tasks__task_id__confirm_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-for-hire/collect":{"post":{"summary":"Hire Collect","description":"Withdraw balance via Lightning invoice. Free, X-Token required.","operationId":"hire_collect_api_v1_ai_for_hire_collect_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/models":{"get":{"summary":"List Unified Models","operationId":"list_unified_models_api_v1_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/chat/completions":{"post":{"summary":"Unified Chat Completions","operationId":"unified_chat_completions_api_v1_chat_completions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/responses":{"post":{"summary":"Unified Responses","operationId":"unified_responses_api_v1_responses_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/embeddings":{"post":{"summary":"Unified Embeddings","operationId":"unified_embeddings_api_v1_embeddings_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/images/generations":{"post":{"summary":"Unified Images Generations","operationId":"unified_images_generations_api_v1_images_generations_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/audio/speech":{"post":{"summary":"Unified Audio Speech","operationId":"unified_audio_speech_api_v1_audio_speech_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/audio/transcriptions":{"post":{"summary":"Unified Audio Transcriptions","operationId":"unified_audio_transcriptions_api_v1_audio_transcriptions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/video/generations":{"post":{"summary":"Unified Video Generations","operationId":"unified_video_generations_api_v1_video_generations_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/{api_name}/v1/models":{"get":{"summary":"List Provider Models","description":"OpenAI-compatible GET /models endpoint. Free, no auth required.","operationId":"list_provider_models_api_v1__api_name__v1_models_get","parameters":[{"name":"api_name","in":"path","required":true,"schema":{"type":"string","title":"Api Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/{api_name}/{endpoint_path}":{"post":{"summary":"Create Payment Required","operationId":"create_payment_required_api_v1__api_name___endpoint_path__post","parameters":[{"name":"api_name","in":"path","required":true,"schema":{"type":"string","title":"Api Name"}},{"name":"endpoint_path","in":"path","required":true,"schema":{"type":"string","title":"Endpoint Path"}}],"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"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}