# API Keys ## Create `inference.api_keys.create(APIKeyCreateParams**kwargs) -> APIKeyCreateResponse` **post** `/v2/gen-ai/models/api_keys` To create a model API key, send a POST request to `/v2/gen-ai/models/api_keys`. ### Parameters - **name:** `str` A human friendly name to identify the key ### Returns - `class APIKeyCreateResponse` - **api\_key\_info:** `Optional[APIModelAPIKeyInfo]` Model API Key Info ### Example ```python from gradient import Gradient client = Gradient() api_key = client.inference.api_keys.create() print(api_key.api_key_info) ``` ## Update `inference.api_keys.update(strpath_api_key_uuid, APIKeyUpdateParams**kwargs) -> APIKeyUpdateResponse` **put** `/v2/gen-ai/models/api_keys/{api_key_uuid}` To update a model API key, send a PUT request to `/v2/gen-ai/models/api_keys/{api_key_uuid}`. ### Parameters - **api\_key\_uuid:** `str` - **api\_key\_uuid:** `str` - **name:** `str` Name ### Returns - `class APIKeyUpdateResponse` - **api\_key\_info:** `Optional[APIModelAPIKeyInfo]` Model API Key Info ### Example ```python from gradient import Gradient client = Gradient() api_key = client.inference.api_keys.update( path_api_key_uuid="\"123e4567-e89b-12d3-a456-426614174000\"", ) print(api_key.api_key_info) ``` ## List `inference.api_keys.list(APIKeyListParams**kwargs) -> APIKeyListResponse` **get** `/v2/gen-ai/models/api_keys` To list all model API keys, send a GET request to `/v2/gen-ai/models/api_keys`. ### Parameters - **page:** `int` Page number. - **per\_page:** `int` Items per page. ### Returns - `class APIKeyListResponse` - **api\_key\_infos:** `Optional[List[APIModelAPIKeyInfo]]` Api key infos - **created\_at:** `Optional[datetime]` Creation date - **created\_by:** `Optional[str]` Created by - **deleted\_at:** `Optional[datetime]` Deleted date - **name:** `Optional[str]` Name - **secret\_key:** `Optional[str]` - **uuid:** `Optional[str]` Uuid - **links:** `Optional[APILinks]` Links to other pages - **meta:** `Optional[APIMeta]` Meta information about the data set ### Example ```python from gradient import Gradient client = Gradient() api_keys = client.inference.api_keys.list() print(api_keys.api_key_infos) ``` ## Delete `inference.api_keys.delete(strapi_key_uuid) -> APIKeyDeleteResponse` **delete** `/v2/gen-ai/models/api_keys/{api_key_uuid}` To delete an API key for a model, send a DELETE request to `/v2/gen-ai/models/api_keys/{api_key_uuid}`. ### Parameters - **api\_key\_uuid:** `str` ### Returns - `class APIKeyDeleteResponse` - **api\_key\_info:** `Optional[APIModelAPIKeyInfo]` Model API Key Info ### Example ```python from gradient import Gradient client = Gradient() api_key = client.inference.api_keys.delete( "api_key_uuid", ) print(api_key.api_key_info) ``` ## Update Regenerate `inference.api_keys.update_regenerate(strapi_key_uuid) -> APIKeyUpdateRegenerateResponse` **put** `/v2/gen-ai/models/api_keys/{api_key_uuid}/regenerate` To regenerate a model API key, send a PUT request to `/v2/gen-ai/models/api_keys/{api_key_uuid}/regenerate`. ### Parameters - **api\_key\_uuid:** `str` ### Returns - `class APIKeyUpdateRegenerateResponse` - **api\_key\_info:** `Optional[APIModelAPIKeyInfo]` Model API Key Info ### Example ```python from gradient import Gradient client = Gradient() response = client.inference.api_keys.update_regenerate( "api_key_uuid", ) print(response.api_key_info) ``` ## Domain Types ### API Model API Key Info - `class APIModelAPIKeyInfo` Model API Key Info - **created\_at:** `Optional[datetime]` Creation date - **created\_by:** `Optional[str]` Created by - **deleted\_at:** `Optional[datetime]` Deleted date - **name:** `Optional[str]` Name - **secret\_key:** `Optional[str]` - **uuid:** `Optional[str]` Uuid