Public URL
Public tunnels and shareable URLs with optional custom domains.
Overview
Base path:
/v1/public-urlPython namespace:
infra.public_urltext
# Python
from infrai import infra
# TypeScript
import { InfraiClient } from "@infrai/sdk";
const client = new InfraiClient({ apiKey: process.env.INFRAI_API_KEY! });
// → client.publicUrlMethods
public_url.create
POST /v1/public-url
Create a public URL or tunnel, optionally with a subdomain and TTL.
Python
python
infra.public_url.create(subdomain=None, port=None, ttl_seconds=None, idempotency_key=None)TypeScript
typescript
client.publicUrl.create(opts?: PublicUrlCreateOptions): Promise<PublicUrlRecord>Parameters
| Name | Type | Required | Description |
|---|---|---|---|
subdomain | string | Optional | Requested subdomain. |
port | number | Optional | Local port to expose. |
ttl_seconds | number | Optional | Lifetime in seconds before expiry. |
idempotency_key | string | Optional | Optional dedup key; identical retries return the same result. |
Returns
PublicUrlRecord { url_id, url, subdomain, state, created_at }Example
一次性前置(每个范例都假定已完成):
bash
pip install infrai
# one-time auth (no secret needed): anonymous account + trial, writes ~/.infrai/credentials
python -c "from infrai import infra; infra.activate()"
# returning user instead: export INFRAI_API_KEY=ifr_pk_proj_...python
from infrai import infra
link = infra.public_url.create(ttl_seconds=7 * 86400)
print("public url:", link.get("url"))public_url.claim
POST /v1/public-url/{id}/claim
Claim an anonymous public URL into your account.
Python
python
infra.public_url.claim(id=url_id)TypeScript
typescript
client.publicUrl.claim(urlId: string): Promise<PublicUrlRecord>Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Required | The public URL record id. |
Returns
PublicUrlRecordExample
一次性前置(每个范例都假定已完成):
bash
pip install infrai
# one-time auth (no secret needed): anonymous account + trial, writes ~/.infrai/credentials
python -c "from infrai import infra; infra.activate()"
# returning user instead: export INFRAI_API_KEY=ifr_pk_proj_...python
from infrai import infra
print("state:", infra.public_url.claim(id="pu_...").get("state"))public_url.get
GET /v1/public-url/{id}
Fetch a public URL record by id.
Python
python
infra.public_url.get(id=url_id)TypeScript
typescript
client.publicUrl.get(urlId: string): Promise<PublicUrlRecord>Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Required | The public URL record id. |
Returns
PublicUrlRecordExample
一次性前置(每个范例都假定已完成):
bash
pip install infrai
# one-time auth (no secret needed): anonymous account + trial, writes ~/.infrai/credentials
python -c "from infrai import infra; infra.activate()"
# returning user instead: export INFRAI_API_KEY=ifr_pk_proj_...python
from infrai import infra
rec = infra.public_url.get(id="pu_...")
print("url:", rec.get("url"), "| state:", rec.get("state"))public_url.domain.create
POST /v1/public-url/domains
Attach a custom domain for public URLs.
Python
python
infra.public_url.domain.create(...)TypeScript
typescript
// see ROUTES["public_url.domain.create"]Returns
DomainRecordExample
一次性前置(每个范例都假定已完成):
bash
pip install infrai
# one-time auth (no secret needed): anonymous account + trial, writes ~/.infrai/credentials
python -c "from infrai import infra; infra.activate()"
# returning user instead: export INFRAI_API_KEY=ifr_pk_proj_...python
from infrai import infra
d = infra.public_url.domain.create(domain="links.example.com")
print("domain:", d.get("domain") or d.get("id"))