Class: ElevenlabsClient::Admin::ServiceAccountApiKeys

Inherits:
Object
  • Object
show all
Defined in:
lib/elevenlabs_client/endpoints/admin/service_account_api_keys.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ ServiceAccountApiKeys

Returns a new instance of ServiceAccountApiKeys.



6
7
8
# File 'lib/elevenlabs_client/endpoints/admin/service_account_api_keys.rb', line 6

def initialize(client)
  @client = client
end

Instance Method Details

#create(service_account_user_id, name:, permissions:, **options) ⇒ Hash

POST /v1/service-accounts/service_account_user_id/api-keys Create a new API key for a service account Documentation: https://elevenlabs.io/docs/api-reference/service-accounts/api-keys/create

Parameters:

  • service_account_user_id (String)

    The service account user ID

  • name (String)

    The name of the API key

  • permissions (Array<String>, String)

    The permissions for the API key or "all"

  • options (Hash)

    Optional parameters

Options Hash (**options):

  • :character_limit (Integer, nil)

    Monthly character limit for the API key

Returns:

  • (Hash)

    JSON response containing the new API key



31
32
33
34
35
36
37
38
39
# File 'lib/elevenlabs_client/endpoints/admin/service_account_api_keys.rb', line 31

def create(, name:, permissions:, **options)
  endpoint = "/v1/service-accounts/#{}/api-keys"
  request_body = {
    name: name,
    permissions: permissions
  }.merge(options)

  @client.post(endpoint, request_body)
end

#delete(service_account_user_id, api_key_id) ⇒ Hash

DELETE /v1/service-accounts/service_account_user_id/api-keys/api_key_id Delete an existing API key for a service account Documentation: https://elevenlabs.io/docs/api-reference/service-accounts/api-keys/delete

Parameters:

  • service_account_user_id (String)

    The service account user ID

  • api_key_id (String)

    The API key ID

Returns:

  • (Hash)

    JSON response with deletion confirmation



71
72
73
74
# File 'lib/elevenlabs_client/endpoints/admin/service_account_api_keys.rb', line 71

def delete(, api_key_id)
  endpoint = "/v1/service-accounts/#{}/api-keys/#{api_key_id}"
  @client.delete(endpoint)
end

#list(service_account_user_id) ⇒ Hash

GET /v1/service-accounts/service_account_user_id/api-keys Get all API keys for a service account Documentation: https://elevenlabs.io/docs/api-reference/service-accounts/api-keys/list

Parameters:

  • service_account_user_id (String)

    The service account user ID

Returns:

  • (Hash)

    JSON response containing list of API keys



16
17
18
19
# File 'lib/elevenlabs_client/endpoints/admin/service_account_api_keys.rb', line 16

def list()
  endpoint = "/v1/service-accounts/#{}/api-keys"
  @client.get(endpoint)
end

#update(service_account_user_id, api_key_id, is_enabled:, name:, permissions:, **options) ⇒ Hash

PATCH /v1/service-accounts/service_account_user_id/api-keys/api_key_id Update an existing API key for a service account Documentation: https://elevenlabs.io/docs/api-reference/service-accounts/api-keys/update

Parameters:

  • service_account_user_id (String)

    The service account user ID

  • api_key_id (String)

    The API key ID

  • is_enabled (Boolean)

    Whether to enable or disable the API key

  • name (String)

    The name of the API key

  • permissions (Array<String>, String)

    The permissions for the API key or "all"

  • options (Hash)

    Optional parameters

Options Hash (**options):

  • :character_limit (Integer, nil)

    Monthly character limit for the API key

Returns:

  • (Hash)

    JSON response with update confirmation



53
54
55
56
57
58
59
60
61
62
# File 'lib/elevenlabs_client/endpoints/admin/service_account_api_keys.rb', line 53

def update(, api_key_id, is_enabled:, name:, permissions:, **options)
  endpoint = "/v1/service-accounts/#{}/api-keys/#{api_key_id}"
  request_body = {
    is_enabled: is_enabled,
    name: name,
    permissions: permissions
  }.merge(options)

  @client.patch(endpoint, request_body)
end