Module: DevinApi::Endpoints::Knowledge

Defined in:
lib/devin_api/endpoints/knowledge.rb

Overview

Knowledge endpoints for the Devin API

Instance Method Summary collapse

Instance Method Details

#create_knowledge(params = {}) ⇒ Hash

Create knowledge

Parameters:

  • params (Hash) (defaults to: {}) —

    Body parameters

Options Hash (params):

  • :body (String) —

    Content of the knowledge (required)

  • :name (String) —

    Name of the knowledge (required)

  • :trigger_description (String) —

    Description of when this knowledge should be used (required)

  • :parent_folder_id (String) —

    ID of the folder that this knowledge is located in

Returns:

  • (Hash) —

    Response body with the created knowledge

See Also:



27
28
29
# File 'lib/devin_api/endpoints/knowledge.rb', line 27

def create_knowledge(params = {})
  post('/v1/knowledge', params)
end

#delete_knowledge(knowledge_id) ⇒ nil

Delete knowledge

Parameters:

  • knowledge_id (String) —

    The ID of the knowledge to delete

Returns:

  • (nil) —

    Returns nil on success (204 No Content)

See Also:



50
51
52
# File 'lib/devin_api/endpoints/knowledge.rb', line 50

def delete_knowledge(knowledge_id)
  delete("/v1/knowledge/#{knowledge_id}")
end

#list_knowledge(params = {}) ⇒ Hash

List knowledge

Parameters:

  • params (Hash) (defaults to: {}) —

    Query parameters

Options Hash (params):

  • :limit (Integer) —

    Maximum number of knowledge items to return (default: 100, max: 1000)

  • :offset (Integer) —

    Number of knowledge items to skip for pagination (default: 0)

Returns:

  • (Hash) —

    Response body with knowledge and folders

See Also:



14
15
16
# File 'lib/devin_api/endpoints/knowledge.rb', line 14

def list_knowledge(params = {})
  get('/v1/knowledge', params)
end

#update_knowledge(knowledge_id, params = {}) ⇒ Hash

Update knowledge

Parameters:

  • knowledge_id (String) —

    The ID of the knowledge to update

  • params (Hash) (defaults to: {}) —

    Body parameters

Options Hash (params):

  • :body (String) —

    Content of the knowledge

  • :name (String) —

    Name of the knowledge

  • :trigger_description (String) —

    Description of when this knowledge should be used

  • :parent_folder_id (String) —

    ID of the folder that this knowledge is located in

Returns:

  • (Hash) —

    Response body with the updated knowledge

See Also:



41
42
43
# File 'lib/devin_api/endpoints/knowledge.rb', line 41

def update_knowledge(knowledge_id, params = {})
  put("/v1/knowledge/#{knowledge_id}", params)
end