Repository navigation
EN Reference SDK Clients
Cavanshirpro edited this page Sep 19, 2026
·
1 revision
English · Türkçe · Languages / Diller
Scope: JSON API Forge 0.5.1 · Source review: 17 September 2026 · Language: English
Signatures are extracted from source Python AST and are reference declarations, not a runnable program. Do not pass self explicitly when calling an instance. Arguments after * are keyword-only. Await async def methods. Dataclass fields also describe constructor parameters.
Sync/async usage, retries and errors.
Source module: json_api_forge/client.py
def __init__(self, base_url: str, *, api_key: str | None=None, timeout: float=10.0, max_response_bytes: int=8 * 1024 * 1024, allow_insecure_http: bool=False, transport: httpx.BaseTransport | None=None, retry_policy: RetryPolicy | None=None, observer: Callable[[RequestAttempt], None] | None=None): ...def request(self, method: str, path: str, *, json_body: Any=None, files: Mapping[str, Any] | None=None, params: Mapping[str, Any] | None=None, headers: Mapping[str, str] | None=None, request_id: str | None=None, idempotency_key: str | None=None, expect_json: bool=True, max_response_bytes: int | None=None) -> ForgeResponse[Any]: ...def health(self) -> ForgeResponse[JsonObject]: ...def metadata(self, project: str) -> ForgeResponse[JsonObject]: ...def list_items(self, project: str, resource: str, *, params: Mapping[str, Any] | None=None) -> ForgeResponse[JsonObject]: ...def get_item(self, project: str, resource: str, item_id: str) -> ForgeResponse[JsonObject]: ...def create_item(self, project: str, resource: str, payload: Mapping[str, Any], *, idempotency_key: str | None=None): ...def update_item(self, project: str, resource: str, item_id: str, payload: Mapping[str, Any], *, replace: bool=False): ...def delete_item(self, project: str, resource: str, item_id: str): ...def call_operation(self, project: str, operation: str, payload: Mapping[str, Any], *, idempotency_key: str | None=None): ...def iter_items(self, project: str, resource: str, *, params: Mapping[str, Any] | None=None, page_size: int=100, max_items: int=10000) -> Iterator[JsonObject]: ...def close(self) -> None: ...def __enter__(self) -> ForgeClient: ...def __exit__(self, *_args) -> None: ...def __init__(self, base_url: str, *, api_key: str | None=None, timeout: float=10.0, max_response_bytes: int=8 * 1024 * 1024, allow_insecure_http: bool=False, transport: httpx.AsyncBaseTransport | None=None, retry_policy: RetryPolicy | None=None, observer: Callable[[RequestAttempt], None] | None=None): ...async def request(self, method: str, path: str, *, json_body: Any=None, files: Mapping[str, Any] | None=None, params: Mapping[str, Any] | None=None, headers: Mapping[str, str] | None=None, request_id: str | None=None, idempotency_key: str | None=None, expect_json: bool=True, max_response_bytes: int | None=None) -> ForgeResponse[Any]: ...async def health(self) -> ForgeResponse[JsonObject]: ...async def metadata(self, project: str) -> ForgeResponse[JsonObject]: ...async def list_items(self, project: str, resource: str, *, params: Mapping[str, Any] | None=None): ...async def get_item(self, project: str, resource: str, item_id: str): ...async def create_item(self, project: str, resource: str, payload: Mapping[str, Any], *, idempotency_key: str | None=None): ...async def update_item(self, project: str, resource: str, item_id: str, payload: Mapping[str, Any], *, replace: bool=False): ...async def delete_item(self, project: str, resource: str, item_id: str): ...async def call_operation(self, project: str, operation: str, payload: Mapping[str, Any], *, idempotency_key: str | None=None): ...async def aclose(self) -> None: ...async def __aenter__(self) -> AsyncForgeClient: ...async def __aexit__(self, *_args) -> None: ...This page describes the behavior at the pinned commits below. Recheck these contracts when upgrading.