Skip to content

Commit

Permalink
[api] Add user crud documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
iddl committed Nov 2, 2015
1 parent 77322f7 commit c6dcc98
Show file tree
Hide file tree
Showing 37 changed files with 360 additions and 40 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Before you push, make sure you verify there are no bad links by going to localho

If there are no errors, then and only then push and merge. **If there are errors, please don't merge.** If you have been working on code samples, run ```rake clean``` then ```rake test```. If you didn't work on code samples, don't bother with test.

If you are using rake test, you need an environment variable for DD_API_KEY and DD_APP_KEY. These should be for a test account that does not include dozens of people. There are several samples that mute and unmute everything. Everyone in the org will be notified. If you are the only one in the org, you won't be getting angry emails from others asking you to stop muting everything.
If you are using rake test, you need an environment variable for TEST_DD_API_KEY and TEST_DD_APP_KEY. These should be for a test account that does not include dozens of people. There are several samples that mute and unmute everything. Everyone in the org will be notified. If you are the only one in the org, you won't be getting angry emails from others asking you to stop muting everything.

## How to add a new integration

Expand Down
11 changes: 11 additions & 0 deletions code_snippets/api-user-create.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from datadog import initialize, api

options = {
'api_key': '9775a026f1ca7d1c6c5af9d94d9595a4',
'app_key': '87ce4a24b5553d2e482ea8a8500e71b8ad4554ff'
}

initialize(**options)

# Create user
api.User.create(handle='test@datadoghq.com', name='test user')
9 changes: 9 additions & 0 deletions code_snippets/api-user-create.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
require 'rubygems'
require 'dogapi'

api_key='9775a026f1ca7d1c6c5af9d94d9595a4'
app_key='87ce4a24b5553d2e482ea8a8500e71b8ad4554ff'

dog = Dogapi::Client.new(api_key, app_key)

dog.create_user(:handle => 'test@datadoghq.com', :name => 'test user')
6 changes: 6 additions & 0 deletions code_snippets/api-user-create.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
api_key=9775a026f1ca7d1c6c5af9d94d9595a4
app_key=87ce4a24b5553d2e482ea8a8500e71b8ad4554ff

curl -X POST -H "Content-type: application/json" \
-d '{"handle":"test@datadoghq.com","name":"test user"}' \
"https://app.datadoghq.com/api/v1/user?api_key=${api_key}&application_key=${app_key}"
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@

initialize(**options)

# Send invites
api.User.invite(["jack@example.com", "jill@example.com"])
# Disable user
api.User.delete('test@datadoghq.com')
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@

dog = Dogapi::Client.new(api_key, app_key)

dog.invite(["jack@example.com", "jill@example.com"])
dog.disable_user('test@datadoghq.com')
5 changes: 5 additions & 0 deletions code_snippets/api-user-disable.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
api_key=9775a026f1ca7d1c6c5af9d94d9595a4
app_key=87ce4a24b5553d2e482ea8a8500e71b8ad4554ff
user=test@datadoghq.com

curl -X DELETE "https://app.datadoghq.com/api/v1/user/${user}?api_key=${api_key}&application_key=${app_key}"
11 changes: 11 additions & 0 deletions code_snippets/api-user-get-all.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from datadog import initialize, api

options = {
'api_key': '9775a026f1ca7d1c6c5af9d94d9595a4',
'app_key': '87ce4a24b5553d2e482ea8a8500e71b8ad4554ff'
}

initialize(**options)

# Get all users
api.User.get_all()
9 changes: 9 additions & 0 deletions code_snippets/api-user-get-all.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
require 'rubygems'
require 'dogapi'

api_key='9775a026f1ca7d1c6c5af9d94d9595a4'
app_key='87ce4a24b5553d2e482ea8a8500e71b8ad4554ff'

dog = Dogapi::Client.new(api_key, app_key)

dog.get_all_users()
4 changes: 4 additions & 0 deletions code_snippets/api-user-get-all.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
api_key=9775a026f1ca7d1c6c5af9d94d9595a4
app_key=87ce4a24b5553d2e482ea8a8500e71b8ad4554ff

curl -X GET "https://app.datadoghq.com/api/v1/user?api_key=${api_key}&application_key=${app_key}"
11 changes: 11 additions & 0 deletions code_snippets/api-user-get.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from datadog import initialize, api

options = {
'api_key': '9775a026f1ca7d1c6c5af9d94d9595a4',
'app_key': '87ce4a24b5553d2e482ea8a8500e71b8ad4554ff'
}

initialize(**options)

# Get one user
api.User.get('test@datadoghq.com')
9 changes: 9 additions & 0 deletions code_snippets/api-user-get.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
require 'rubygems'
require 'dogapi'

api_key='9775a026f1ca7d1c6c5af9d94d9595a4'
app_key='87ce4a24b5553d2e482ea8a8500e71b8ad4554ff'

dog = Dogapi::Client.new(api_key, app_key)

dog.get_user('test@datadoghq.com')
5 changes: 5 additions & 0 deletions code_snippets/api-user-get.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
api_key=9775a026f1ca7d1c6c5af9d94d9595a4
app_key=87ce4a24b5553d2e482ea8a8500e71b8ad4554ff
user=test@datadoghq.com

curl -X GET "https://app.datadoghq.com/api/v1/user/${user}?api_key=${api_key}&application_key=${app_key}"
8 changes: 0 additions & 8 deletions code_snippets/api-user-invite.sh

This file was deleted.

11 changes: 11 additions & 0 deletions code_snippets/api-user-update.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from datadog import initialize, api

options = {
'api_key': '9775a026f1ca7d1c6c5af9d94d9595a4',
'app_key': '87ce4a24b5553d2e482ea8a8500e71b8ad4554ff'
}

initialize(**options)

# Update user
api.User.update('test@datadoghq.com', name='alt name', email='test+1@datadoghq.com')
10 changes: 10 additions & 0 deletions code_snippets/api-user-update.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Make sure you replace the API and or APP key below with the ones for your account
require 'rubygems'
require 'dogapi'

api_key='9775a026f1ca7d1c6c5af9d94d9595a4'
app_key='87ce4a24b5553d2e482ea8a8500e71b8ad4554ff'

dog = Dogapi::Client.new(api_key, app_key)

dog.update_user('test@datadoghq.com', :email => 'test+1@datadoghq.com', :name => 'alt name')
7 changes: 7 additions & 0 deletions code_snippets/api-user-update.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
api_key=9775a026f1ca7d1c6c5af9d94d9595a4
app_key=87ce4a24b5553d2e482ea8a8500e71b8ad4554ff
user=test@datadoghq.com

curl -X PUT -H "Content-type: application/json" \
-d '{"email":"test+1@datadoghq.com","name":"alt user"}' \
"https://app.datadoghq.com/api/v1/user/${user}?api_key=${api_key}&application_key=${app_key}"
1 change: 1 addition & 0 deletions code_snippets/results/result.api-user-create.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{'user': {'verified': False, 'name': 'test user', 'disabled': False, 'role': None, 'is_admin': False, 'handle': 'test@datadoghq.com', 'email': 'test@datadoghq.com'}}
1 change: 1 addition & 0 deletions code_snippets/results/result.api-user-create.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["200", {"user"=>{"handle"=>"test@datadoghq.com", "name"=>"test user", "verified"=>false, "disabled"=>false, "role"=>nil, "is_admin"=>false, "email"=>"test@datadoghq.com"}}]
1 change: 1 addition & 0 deletions code_snippets/results/result.api-user-create.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"user": {"handle": "test@datadoghq.com", "name": "test user", "verified": false, "disabled": false, "role": null, "is_admin": false, "email": "test@datadoghq.com"}}
1 change: 1 addition & 0 deletions code_snippets/results/result.api-user-disable.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{'message': 'User test@datadoghq.com disabled'}
1 change: 1 addition & 0 deletions code_snippets/results/result.api-user-disable.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["200", {"message"=>"User test@datadoghq.com disabled"}]
1 change: 1 addition & 0 deletions code_snippets/results/result.api-user-disable.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"message": "User test@datadoghq.com disabled"}
1 change: 1 addition & 0 deletions code_snippets/results/result.api-user-get-all.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{'users': [{'verified': False, 'name': 'test user', 'disabled': False, 'role': None, 'is_admin': False, 'handle': 'test@datadoghq.com', 'email': 'test@datadoghq.com'}, {'verified': False, 'name': 'alt name', 'disabled': False, 'role': None, 'is_admin': False, 'handle': 'test2@datadoghq.com', 'email': 'test+1@datadoghq.com'}]}
1 change: 1 addition & 0 deletions code_snippets/results/result.api-user-get-all.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["200", {"users"=>[{"handle"=>"test@datadoghq.com", "name"=>"test user", "verified"=>false, "disabled"=>false, "role"=>nil, "is_admin"=>false, "email"=>"test@datadoghq.com"}, {"handle"=>"test2@datadoghq.com", "name"=>"alt name", "verified"=>false, "disabled"=>false, "role"=>nil, "is_admin"=>false, "email"=>"test+1@datadoghq.com"}]}]
1 change: 1 addition & 0 deletions code_snippets/results/result.api-user-get-all.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"users": [{"handle": "test@datadoghq.com", "name": "test user", "verified": false, "disabled": false, "role": null, "is_admin": false, "email": "test@datadoghq.com"},{"handle": "test2@datadoghq.com", "name": "alt name", "verified": false, "disabled": false, "role": null, "is_admin": false, "email": "test+1@datadoghq.com"}]}
1 change: 1 addition & 0 deletions code_snippets/results/result.api-user-get.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{'user': {'verified': False, 'name': 'test user', 'disabled': False, 'role': None, 'is_admin': False, 'handle': 'test@datadoghq.com', 'email': 'test@datadoghq.com'}}
1 change: 1 addition & 0 deletions code_snippets/results/result.api-user-get.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["200", {"user"=>{"handle"=>"test@datadoghq.com", "name"=>"test user", "verified"=>false, "disabled"=>false, "role"=>nil, "is_admin"=>false, "email"=>"test@datadoghq.com"}}]
1 change: 1 addition & 0 deletions code_snippets/results/result.api-user-get.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"user": {"handle": "test@datadoghq.com", "name": "test user", "verified": false, "disabled": false, "role": null, "is_admin": false, "email": "test@datadoghq.com"}}
1 change: 0 additions & 1 deletion code_snippets/results/result.api-user-invite.py

This file was deleted.

3 changes: 0 additions & 3 deletions code_snippets/results/result.api-user-invite.rb

This file was deleted.

1 change: 0 additions & 1 deletion code_snippets/results/result.api-user-invite.sh

This file was deleted.

1 change: 1 addition & 0 deletions code_snippets/results/result.api-user-update.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{'user': {'verified': False, 'name': 'alt name', 'disabled': False, 'role': None, 'is_admin': False, 'handle': 'test@datadoghq.com', 'email': 'test+1@datadoghq.com'}}
1 change: 1 addition & 0 deletions code_snippets/results/result.api-user-update.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["200", {"user"=>{"handle"=>"test@datadoghq.com", "name"=>"alt name", "verified"=>false, "disabled"=>false, "role"=>nil, "is_admin"=>false, "email"=>"test+1@datadoghq.com"}}]
1 change: 1 addition & 0 deletions code_snippets/results/result.api-user-update.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"user": {"handle": "test@datadoghq.com", "name": "alt user", "verified": false, "disabled": false, "role": null, "is_admin": false, "email": "test+1@datadoghq.com"}}
127 changes: 116 additions & 11 deletions content/api/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1695,31 +1695,136 @@ <h3 id="users">Users</h3>
<div class="row">
<%= left_side_div %>
<p>
You can invite users to join DataDog using the API.
You can create, edit, and disable users.
</p>
</div>
</div>

<!-- Create alerts -->
<h4 id="users-invite">Invite Users</h4>
<!-- Create user -->
<h4>Create User</h4>
<div class="row">
<%= left_side_div %>
<h5>Arguments</h5>
<ul class="arguments">
<%= argument 'handle', "The user handle, must be a valid email." %>
<%= argument 'name', "The name of the user.", :default => 'None' %>
</ul>
</div>
<%= right_side_div %>
<h5>Signature</h5>
<code>POST api/v1/user</code>
<h5>Example Request</h5>
<%= snippet_code_block "api-user-create.py" %>
<%= snippet_code_block "api-user-create.rb" %>
<%= snippet_code_block "api-user-create.sh" %>
<h5>Example Response</h5>
<%= snippet_result_code_block "api-user-create.py" %>
<%= snippet_result_code_block "api-user-create.rb" %>
<%= snippet_result_code_block "api-user-create.sh" %>
</div>
</div>

<!-- Get User -->
<h4>Get User</h4>
<div class="row">
<%= left_side_div %>
<h5>Arguments</h5>
<ul class="arguments">
<%= argument 'handle', "The handle of the user." %>
</ul>
</div>
<%= right_side_div %>
<h5>Signature</h5>
<code>GET api/v1/user/:handle</code>
<h5>Example Request</h5>
<%= snippet_code_block "api-user-get.py" %>
<%= snippet_code_block "api-user-get.rb" %>
<%= snippet_code_block "api-user-get.sh" %>
<h5>Example Response</h5>
<%= snippet_result_code_block "api-user-get.py" %>
<%= snippet_result_code_block "api-user-get.rb" %>
<%= snippet_result_code_block "api-user-get.sh" %>
</div>
</div>

<!-- Get All Users -->
<h4>Get All Users</h4>
<div class="row">
<%= left_side_div %>
<h5>Arguments</h5>
<ul class="arguments">
<%= no_args %>
</ul>
</div>
<%= right_side_div %>
<h5>Signature</h5>
<code>GET api/v1/user </code>
<h5>Example Request</h5>
<%= snippet_code_block "api-user-get-all.py" %>
<%= snippet_code_block "api-user-get-all.rb" %>
<%= snippet_code_block "api-user-get-all.sh" %>
<h5>Example Response</h5>
<%= snippet_result_code_block "api-user-get-all.py" %>
<%= snippet_result_code_block "api-user-get-all.rb" %>
<%= snippet_result_code_block "api-user-get-all.sh" %>
</div>
</div>


<!-- Update user -->
<h4>Update User</h4>
<div class="row">
<%= left_side_div %>
<p>
Can only be used with application keys belonging to administrators.
</p>
<h5>Arguments</h5>
<ul class="arguments">
<%= argument 'handle', "The handle of the user." %>
<%= argument 'name', "The new name of the user.", :default => 'None' %>
<%= argument 'email', "The new email of the user.", :default => 'None' %>
<%= argument 'disabled', "The new disabled status of the user.", :default => 'None' %>
<%= argument 'is_admin', "The new admin status of the user.", :default => 'None' %>
</ul>
</div>
<%= right_side_div %>
<h5>Signature</h5>
<code>PUT api/v1/user/:handle</code>
<h5>Example Request</h5>
<%= snippet_code_block "api-user-update.py" %>
<%= snippet_code_block "api-user-update.rb" %>
<%= snippet_code_block "api-user-update.sh" %>
<h5>Example Response</h5>
<%= snippet_result_code_block "api-user-update.py" %>
<%= snippet_result_code_block "api-user-update.rb" %>
<%= snippet_result_code_block "api-user-update.sh" %>
</div>
</div>


<!-- Disable User -->
<h4>Disable User</h4>
<div class="row">
<%= left_side_div %>
<p>
Can only be used with application keys belonging to administrators.
</p>
<h5>Arguments</h5>
<ul class="arguments">
<%= argument 'emails', "A list of email addresses to send an invite to." %>
<%= argument 'handle', "The handle of the user." %>
</ul>
</div>
<%= right_side_div %>
<h5>Signature</h5>
<code>POST api/v1/invite_users</code>
<code>DELETE api/v1/user/:handle</code>
<h5>Example Request</h5>
<%= snippet_code_block "api-user-invite.py" %>
<%= snippet_code_block "api-user-invite.rb" %>
<%= snippet_code_block "api-user-invite.sh" %>
<%= snippet_code_block "api-user-disable.py" %>
<%= snippet_code_block "api-user-disable.rb" %>
<%= snippet_code_block "api-user-disable.sh" %>
<h5>Example Response</h5>
<%= snippet_result_code_block "api-user-invite.py" %>
<%= snippet_result_code_block "api-user-invite.rb" %>
<%= snippet_result_code_block "api-user-invite.sh" %>
<%= snippet_result_code_block "api-user-disable.py" %>
<%= snippet_result_code_block "api-user-disable.rb" %>
<%= snippet_result_code_block "api-user-disable.sh" %>
</div>
</div>

Expand Down
Loading

0 comments on commit c6dcc98

Please sign in to comment.