{"openapi":"3.1.0","info":{"title":"Margit Agent API","version":"1.0.0","description":"Catalog, buyer-bound checkout and seller-owned listing management on Arc testnet. MCP: /api/mcp."},"servers":[{"url":"https://api.margit.sh"}],"components":{"securitySchemes":{"MargitKey":{"type":"http","scheme":"bearer","description":"Seller-generated margit_sk_ API key"}}},"paths":{"/api/listings":{"get":{"operationId":"browse_catalog","summary":"List repository offerings. The API subdomain returns compact paginated listings; inspect nextOffset and fetch the next page when present.","parameters":[{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0},"description":"Pagination offset from the previous response nextOffset."}],"responses":{"200":{"description":"Successful response"}}}},"/api/checkout/config":{"get":{"operationId":"checkout_config","summary":"Read chain ID and checkout contract","responses":{"200":{"description":"Successful response"}}}},"/api/checkout/quote":{"post":{"operationId":"create_checkout_quote","summary":"Create a signed quote; does not pay","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"listingId":{"type":"string"},"buyer":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"currency":{"type":"string","enum":["USDC","EURC","cirBTC"]}},"required":["listingId","buyer","currency"]}}}},"responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"}}}},"/api/checkout/confirm":{"post":{"operationId":"confirm_checkout","summary":"Confirm an existing paid transaction; requires private claim secret","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"claimSecret":{"type":"string"},"transactionHash":{"type":"string"}},"required":["claimSecret","transactionHash"]}}}},"responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"}}}},"/api/agent-api/repos":{"get":{"operationId":"list_my_repos","summary":"List seller repositories","security":[{"MargitKey":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Missing or invalid Margit key"}}}},"/api/agent-api/repos/list":{"post":{"operationId":"create_listing","summary":"Publish a seller-authorized private repository","security":[{"MargitKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"repoFullName":{"type":"string"},"price":{"type":"string","pattern":"^\\$\\d+(\\.\\d{1,2})?$"},"payoutAddress":{"type":"string"},"sellerDescription":{"type":"string"},"accessPolicy":{"type":"object","properties":{"mode":{"type":"string","enum":["window","single_download","permanent"]},"minutes":{"type":"integer","minimum":1},"checkoutMode":{"type":"string","enum":["both","wallet","x402"]},"acceptedTokens":{"type":"array","items":{"type":"string","enum":["USDC","EURC","cirBTC"]},"minItems":1}},"required":["mode"]}},"required":["repoFullName","price","payoutAddress"]}}}},"responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"401":{"description":"Missing or invalid Margit key"}}}},"/api/agent-api/repos/unlist":{"post":{"operationId":"unlist_repo","summary":"Remove seller listing by id or repoFullName","security":[{"MargitKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"repoFullName":{"type":"string"}},"required":[]}}}},"responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"401":{"description":"Missing or invalid Margit key"}}}}}}