{"openapi":"3.1.0","info":{"title":"Hyperbolic (BYOK) API","version":"0.1.0","description":"Hyperbolic (BYOK) lets an AI assistant read your own Hyperbolic data through the Hyperbolic API with a key you supply (Hyperbolic API key). Read-only: 9 tools (get_balance, get_active_rental_summary, list_active_rentals, list_rental_history, get_rental, list_rental_options, list_reserve_options, list_storage_volumes, list_storage_volume_options). The BYOK key travels with each request, is used...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-hyperbolic.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-hyperbolic/docs"},"termsOfService":"https://connectorbay.com/byok-hyperbolic/terms"},"servers":[{"url":"https://byok-hyperbolic.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-hyperbolic/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_balance":{"post":{"operationId":"get_balance","summary":"Get the account's credit balance and its maximum overdraft, both in cents. Reads account or catalog data only: it rents,","description":"Get the account's credit balance and its maximum overdraft, both in cents. Reads account or catalog data only: it rents, starts or stops nothing and spends no balance. Use for \"How much Hyperbolic credit do I have left\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_balanceArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_active_rental_summary":{"post":{"operationId":"get_active_rental_summary","summary":"Count active GPU rentals and their combined hourly cost in cents, in total and per term type. Reads account or catalog d","description":"Count active GPU rentals and their combined hourly cost in cents, in total and per term type. Reads account or catalog data only: it rents, starts or stops nothing and spends no balance. Use for \"How much am I spending per hour on Hyperbolic GPUs right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_active_rental_summaryArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_active_rentals":{"post":{"operationId":"list_active_rentals","summary":"List active GPU rentals with GPU type and count, region, term and hourly price, most recently started first. Reads accou","description":"List active GPU rentals with GPU type and count, region, term and hourly price, most recently started first. Reads account or catalog data only: it rents, starts or stops nothing and spends no balance. Use for \"Which GPU instances do I have running on Hyperbolic\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many rentals per page (1 to 100).","title":"Page Size"},"gpu_type":{"anyOf":[{"enum":["h100","h200","b200","rtx-6000-pro"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this GPU type.","title":"Gpu Type"},"term_type":{"anyOf":[{"enum":["on-demand","reserved","private-cloud"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this kind of term.","title":"Term Type"},"rental_type":{"anyOf":[{"enum":["virtual-machine","bare-metal"],"type":"string"},{"type":"null"}],"default":null,"description":"Only virtual machines or only bare metal servers.","title":"Rental Type"},"region":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only this region, for example us-central-1.","title":"Region"}},"title":"list_active_rentalsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_rental_history":{"post":{"operationId":"list_rental_history","summary":"List past, terminated GPU rentals with GPU type, region, term and end time, most recently terminated first. Reads accoun","description":"List past, terminated GPU rentals with GPU type, region, term and end time, most recently terminated first. Reads account or catalog data only: it rents, starts or stops nothing and spends no balance. Use for \"What GPU rentals have I finished on Hyperbolic\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"anyOf":[{"maxLength":512,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: the nextCursor of the previous answer.","title":"Cursor"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many rentals to return (1 to 100).","title":"Limit"},"gpu_type":{"anyOf":[{"enum":["h100","h200","b200","rtx-6000-pro"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this GPU type.","title":"Gpu Type"},"term_type":{"anyOf":[{"enum":["on-demand","reserved","private-cloud"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this kind of term.","title":"Term Type"},"rental_type":{"anyOf":[{"enum":["virtual-machine","bare-metal"],"type":"string"},{"type":"null"}],"default":null,"description":"Only virtual machines or only bare metal servers.","title":"Rental Type"},"region":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only this region, for example us-central-1.","title":"Region"}},"title":"list_rental_historyArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_rental":{"post":{"operationId":"get_rental","summary":"Get one GPU rental (running or ended) by id: GPU, region, term, price and timestamps. Reads account or catalog data only","description":"Get one GPU rental (running or ended) by id: GPU, region, term, price and timestamps. Reads account or catalog data only: it rents, starts or stops nothing and spends no balance. Use for \"Show Hyperbolic rental rent_example\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"rental_id":{"description":"Rental id, as returned by list_active_rentals or list_rental_history (rentalId).","maxLength":100,"title":"Rental Id","type":"string"}},"required":["rental_id"],"title":"get_rentalArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_rental_options":{"post":{"operationId":"list_rental_options","summary":"List the GPU configurations that can be rented now: GPU type and count, region, price per hour in cents, machine type an","description":"List the GPU configurations that can be rented now: GPU type and count, region, price per hour in cents, machine type and how many are available. Reads account or catalog data only: it rents, starts or stops nothing and spends no balance. Use for \"What GPUs can I rent on Hyperbolic and at what price\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_rental_optionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_reserve_options":{"post":{"operationId":"list_reserve_options","summary":"List the reservation term lengths in days and the discount percentage each one gives. Reads account or catalog data only","description":"List the reservation term lengths in days and the discount percentage each one gives. Reads account or catalog data only: it rents, starts or stops nothing and spends no balance. Use for \"What discount do I get for reserving Hyperbolic GPUs\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_reserve_optionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_storage_volumes":{"post":{"operationId":"list_storage_volumes","summary":"List the account's storage volumes with size, status, hourly cost and the rentals they are attached to. Reads account or","description":"List the account's storage volumes with size, status, hourly cost and the rentals they are attached to. Reads account or catalog data only: it rents, starts or stops nothing and spends no balance. Use for \"Which storage volumes do I have on Hyperbolic\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_storage_volumesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_storage_volume_options":{"post":{"operationId":"list_storage_volume_options","summary":"List storage volume pricing per region: cost per GB per hour in cents and the largest size you can create. Reads account","description":"List storage volume pricing per region: cost per GB per hour in cents and the largest size you can create. Reads account or catalog data only: it rents, starts or stops nothing and spends no balance. Use for \"How much does Hyperbolic storage cost\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_storage_volume_optionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}