Class: Deepgram::Management::Client
- Defined in:
- lib/deepgram/management.rb
Overview
Client class for interacting with Deepgram’s Management API, allowing management of projects, keys, members, and more.
Direct Known Subclasses
Instance Method Summary collapse
-
#balance(balance_id, project_id:) ⇒ Deepgram::Management::Response
Retrieves a specific balance for a project.
-
#balances(project_id:) ⇒ Deepgram::Management::Response
Lists all balances for a project.
-
#create_key(project_id:, comment:, scopes:, **kwargs) ⇒ Deepgram::Management::Response
Creates a new key for a project.
-
#delete_invite(email, project_id:) ⇒ nil
Deletes an invite for a project.
-
#delete_key(key_id, project_id:) ⇒ nil
Deletes a specific key for a project.
-
#delete_project(id) ⇒ nil
Deletes a specific project.
-
#fields(project_id:, **kwargs) ⇒ Deepgram::Management::Response
Retrieves the available fields for usage data for a project.
-
#get_key(key_id, project_id:, **kwargs) ⇒ Deepgram::Management::Response
Retrieves a specific key by key ID for a project.
-
#get_project(id, **kwargs) ⇒ Deepgram::Management::Response
Retrieves a specific project by ID.
-
#get_request(request_id, project_id:) ⇒ Deepgram::Management::Response
Retrieves a specific request for a project.
-
#initialize ⇒ Client
constructor
Sets up the API endpoint and headers for JSON content type.
-
#invites(project_id:) ⇒ Deepgram::Management::Response
Lists all invites for a project.
-
#keys(project_id:) ⇒ Deepgram::Management::Response
Lists all keys for a project.
-
#leave_project(project_id:) ⇒ nil
Allows a member to leave a project.
-
#member_scopes(project_id:, member_id:) ⇒ Deepgram::Management::Response
Retrieves scopes for a specific member of a project.
-
#members(project_id:) ⇒ Deepgram::Management::Response
Lists all members of a project.
-
#projects ⇒ Deepgram::Management::Response
Retrieves all projects.
-
#remove_member(member_id, project_id:) ⇒ nil
Removes a specific member from a project.
-
#requests(project_id:, **kwargs) ⇒ Deepgram::Management::Response
Lists all requests for a project.
-
#send_invite(email:, project_id:, scope:) ⇒ Deepgram::Management::Response
Sends an invite to join a project.
-
#update_project(id, name:) ⇒ Deepgram::Management::Response
Updates the name of a specific project.
-
#update_scope(scope, project_id:, member_id:) ⇒ Deepgram::Management::Response
Updates the scopes for a specific member of a project.
-
#usage(project_id:, **kwargs) ⇒ Deepgram::Management::Response
Retrieves usage information for a project.
Methods included from ResponseHandler
Constructor Details
#initialize ⇒ Client
Sets up the API endpoint and headers for JSON content type.
9 10 11 12 13 |
# File 'lib/deepgram/management.rb', line 9 def initialize super @connection.path_prefix = 'v1/projects' @connection.headers['Content-Type'] = 'application/json' end |
Instance Method Details
#balance(balance_id, project_id:) ⇒ Deepgram::Management::Response
Retrieves a specific balance for a project.
206 207 208 |
# File 'lib/deepgram/management.rb', line 206 def balance(balance_id, project_id:) request(:get, "#{project_id}/balances/#{balance_id}") end |
#balances(project_id:) ⇒ Deepgram::Management::Response
Lists all balances for a project.
198 199 200 |
# File 'lib/deepgram/management.rb', line 198 def balances(project_id:) request(:get, "#{project_id}/balances") end |
#create_key(project_id:, comment:, scopes:, **kwargs) ⇒ Deepgram::Management::Response
Creates a new key for a project.
72 73 74 75 76 |
# File 'lib/deepgram/management.rb', line 72 def create_key(project_id:, comment:, scopes:, **kwargs) request(:post, "#{project_id}/keys", **kwargs) do |request| request.body = JSON.generate(comment: comment, scopes: scopes) end end |
#delete_invite(email, project_id:) ⇒ nil
Deletes an invite for a project.
146 147 148 |
# File 'lib/deepgram/management.rb', line 146 def delete_invite(email, project_id:) request(:delete, "#{project_id}/invites/#{email}") end |
#delete_key(key_id, project_id:) ⇒ nil
Deletes a specific key for a project.
82 83 84 |
# File 'lib/deepgram/management.rb', line 82 def delete_key(key_id, project_id:) request(:delete, "#{project_id}/keys/#{key_id}") end |
#delete_project(id) ⇒ nil
Deletes a specific project.
44 45 46 |
# File 'lib/deepgram/management.rb', line 44 def delete_project(id) request(:delete, id) end |
#fields(project_id:, **kwargs) ⇒ Deepgram::Management::Response
Retrieves the available fields for usage data for a project.
189 190 191 |
# File 'lib/deepgram/management.rb', line 189 def fields(project_id:, **kwargs) request(:get, "#{project_id}/usage/fields", **kwargs) end |
#get_key(key_id, project_id:, **kwargs) ⇒ Deepgram::Management::Response
Retrieves a specific key by key ID for a project.
62 63 64 |
# File 'lib/deepgram/management.rb', line 62 def get_key(key_id, project_id:, **kwargs) request(:get, "#{project_id}/keys/#{key_id}", **kwargs) end |
#get_project(id, **kwargs) ⇒ Deepgram::Management::Response
Retrieves a specific project by ID.
27 28 29 |
# File 'lib/deepgram/management.rb', line 27 def get_project(id, **kwargs) request(:get, id, **kwargs) end |
#get_request(request_id, project_id:) ⇒ Deepgram::Management::Response
Retrieves a specific request for a project.
171 172 173 |
# File 'lib/deepgram/management.rb', line 171 def get_request(request_id, project_id:) request(:get, "#{project_id}/requests/#{request_id}") end |
#invites(project_id:) ⇒ Deepgram::Management::Response
Lists all invites for a project.
127 128 129 |
# File 'lib/deepgram/management.rb', line 127 def invites(project_id:) request(:get, "#{project_id}/invites") end |
#keys(project_id:) ⇒ Deepgram::Management::Response
Lists all keys for a project.
53 54 55 |
# File 'lib/deepgram/management.rb', line 53 def keys(project_id:) request(:get, "#{project_id}/keys") end |
#leave_project(project_id:) ⇒ nil
Allows a member to leave a project.
153 154 155 |
# File 'lib/deepgram/management.rb', line 153 def leave_project(project_id:) request(:delete, "#{project_id}/leave") end |
#member_scopes(project_id:, member_id:) ⇒ Deepgram::Management::Response
Retrieves scopes for a specific member of a project.
107 108 109 |
# File 'lib/deepgram/management.rb', line 107 def member_scopes(project_id:, member_id:) request(:get, "#{project_id}/members/#{member_id}/scopes") end |
#members(project_id:) ⇒ Deepgram::Management::Response
Lists all members of a project.
91 92 93 |
# File 'lib/deepgram/management.rb', line 91 def members(project_id:) request(:get, "#{project_id}/members") end |
#projects ⇒ Deepgram::Management::Response
Retrieves all projects.
19 20 21 |
# File 'lib/deepgram/management.rb', line 19 def projects request(:get) end |
#remove_member(member_id, project_id:) ⇒ nil
Removes a specific member from a project.
99 100 101 |
# File 'lib/deepgram/management.rb', line 99 def remove_member(member_id, project_id:) request(:delete, "#{project_id}/members/#{member_id}") end |
#requests(project_id:, **kwargs) ⇒ Deepgram::Management::Response
Lists all requests for a project.
163 164 165 |
# File 'lib/deepgram/management.rb', line 163 def requests(project_id:, **kwargs) request(:get, "#{project_id}/requests", **kwargs) end |
#send_invite(email:, project_id:, scope:) ⇒ Deepgram::Management::Response
Sends an invite to join a project.
136 137 138 139 140 |
# File 'lib/deepgram/management.rb', line 136 def send_invite(email:, project_id:, scope:) request(:post, "#{project_id}/invites") do |request| request.body = JSON.generate(email: email, scope: scope) end end |
#update_project(id, name:) ⇒ Deepgram::Management::Response
Updates the name of a specific project.
35 36 37 38 39 |
# File 'lib/deepgram/management.rb', line 35 def update_project(id, name:) request(:patch, id) do |request| request.body = JSON.generate(name: name) end end |
#update_scope(scope, project_id:, member_id:) ⇒ Deepgram::Management::Response
Updates the scopes for a specific member of a project.
116 117 118 119 120 |
# File 'lib/deepgram/management.rb', line 116 def update_scope(scope, project_id:, member_id:) request(:put, "#{project_id}/members/#{member_id}/scopes") do |request| request.body = JSON.generate(scope: scope) end end |
#usage(project_id:, **kwargs) ⇒ Deepgram::Management::Response
Retrieves usage information for a project.
181 182 183 |
# File 'lib/deepgram/management.rb', line 181 def usage(project_id:, **kwargs) request(:get, "#{project_id}/usage", **kwargs) end |