2
0
mirror of https://github.com/VinylDNS/vinyldns synced 2025-09-05 08:45:11 +00:00
Files
vinyldns/api/create-group.html
Paul Cleary a9ceb85869 updated site
2020-09-29 12:03:23 -04:00

186 lines
13 KiB
HTML

<html><head><title>VinylDNS: Create Group</title><meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="author" content="VinylDNS" /><meta name="description" content="DNS Management Platform" /><meta name="og:image" content="/img/poster.png" /><meta name="og:title" content="VinylDNS: Create Group" /><meta name="og:site_name" content="VinylDNS" /><meta name="og:url" content="http://vinyldns.io" /><meta name="og:type" content="website" /><meta name="og:description" content="DNS Management Platform" /><link rel="icon" type="image/png" href="/img/favicon.png" /><meta name="twitter:title" content="VinylDNS: Create Group" /><meta name="twitter:image" content="http://vinyldns.ioimg/poster.png" /><meta name="twitter:description" content="DNS Management Platform" /><meta name="twitter:card" content="summary_large_image" /><link rel="icon" type="image/png" sizes="16x16" href="/img/favicon16x16.png" /><link rel="icon" type="image/png" sizes="24x24" href="/img/favicon24x24.png" /><link rel="icon" type="image/png" sizes="32x32" href="/img/favicon32x32.png" /><link rel="icon" type="image/png" sizes="48x48" href="/img/favicon48x48.png" /><link rel="icon" type="image/png" sizes="57x57" href="/img/favicon57x57.png" /><link rel="icon" type="image/png" sizes="60x60" href="/img/favicon60x60.png" /><link rel="icon" type="image/png" sizes="64x64" href="/img/favicon64x64.png" /><link rel="icon" type="image/png" sizes="70x70" href="/img/favicon70x70.png" /><link rel="icon" type="image/png" sizes="72x72" href="/img/favicon72x72.png" /><link rel="icon" type="image/png" sizes="76x76" href="/img/favicon76x76.png" /><link rel="icon" type="image/png" sizes="96x96" href="/img/favicon96x96.png" /><link rel="icon" type="image/png" sizes="114x114" href="/img/favicon114x114.png" /><link rel="icon" type="image/png" sizes="120x120" href="/img/favicon120x120.png" /><link rel="icon" type="image/png" sizes="128x128" href="/img/favicon128x128.png" /><link rel="icon" type="image/png" sizes="144x144" href="/img/favicon144x144.png" /><link rel="icon" type="image/png" sizes="150x150" href="/img/favicon150x150.png" /><link rel="icon" type="image/png" sizes="152x152" href="/img/favicon152x152.png" /><link rel="icon" type="image/png" sizes="196x196" href="/img/favicon196x196.png" /><link rel="icon" type="image/png" sizes="310x310" href="/img/favicon310x310.png" /><link rel="icon" type="image/png" sizes="310x150" href="/img/favicon310x150.png" /><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" /><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" /><link rel="stylesheet" href="/highlight/styles/default.css" /><link rel="stylesheet" href="/css/style.css" /><link rel="stylesheet" href="/css/palette.css" /><link rel="stylesheet" href="/css/codemirror.css" /><link rel="stylesheet" href="/css/custom.css" /></head><body class="docs"><div id="wrapper"><div id="sidebar-wrapper"><ul id="sidebar" class="sidebar-nav"><li class="sidebar-brand"><a href="/" class="brand"><div class="brand-wrapper"><span>VinylDNS</span></div></a></li> <li><a href="/api/index" class="">API documentation</a></li> <li><a href="/api/auth-mechanism.html" class="">Authentication</a></li> <li><a href="/api/zone-model.html" class="">Zone</a> <ul class="sub_section"> <li><a href="/api/zone-model.html" class="">Zone Model</a></li> <li><a href="/api/create-zone.html" class="">Create Zone</a></li> <li><a href="/api/update-zone.html" class="">Update Zone</a></li> <li><a href="/api/delete-zone.html" class="">Delete Zone</a></li> <li><a href="/api/get-zone-by-id.html" class="">Get Zone by ID</a></li> <li><a href="/api/get-zone-by-name.html" class="">Get Zone by Name</a></li> <li><a href="/api/list-zones.html" class="">List / Search Zone</a></li> <li><a href="/api/sync-zone.html" class="">Sync Zone</a></li> <li><a href="/api/list-zone-changes.html" class="">List Zone Changes</a></li></ul></li> <li><a href="/api/recordset-model.html" class="">RecordSet</a> <ul class="sub_section"> <li><a href="/api/recordset-model.html" class="">RecordSet Model</a></li> <li><a href="/api/create-recordset.html" class="">Create RecordSet</a></li> <li><a href="/api/update-recordset.html" class="">Update RecordSet</a></li> <li><a href="/api/delete-recordset.html" class="">Delete RecordSet</a></li> <li><a href="/api/get-recordset.html" class="">Get RecordSet</a></li> <li><a href="/api/list-recordsets-by-zone.html" class="">List / Search RecordSets by Zone</a></li> <li><a href="/api/get-recordset-change.html" class="">Get RecordSet Change</a></li> <li><a href="/api/list-recordset-changes.html" class="">List RecordSet Changes</a></li> <li><a href="/api/list-recordsets-global.html" class="">Global List / Search RecordSets</a></li></ul></li> <li><a href="/api/batchchange-model.html" class="">Batch Change</a> <ul class="sub_section"> <li><a href="/api/batchchange-model.html" class="">Batch Change Model</a></li> <li><a href="/api/create-batchchange.html" class="">Create Batch Change</a></li> <li><a href="/api/get-batchchange.html" class="">Get Batch Change</a></li> <li><a href="/api/list-batchchanges.html" class="">List Batch Changes</a></li> <li><a href="/api/batchchange-errors.html" class="">Batch Change Errors</a></li> <li><a href="/api/cancel-batchchange.html" class="">Cancel Batch Change</a></li> <li><a href="/api/approve-batchchange.html" class="">Approve Batch Change</a></li> <li><a href="/api/reject-batchchange.html" class="">Reject Batch Change</a></li></ul></li> <li><a href="/api/membership-model.html" class="">Membership</a> <ul class="sub_section"> <li><a href="/api/membership-model.html" class="">Membership Model</a></li> <li><a href="/api/create-group.html" class=" active ">Create Group</a></li> <li><a href="/api/update-group.html" class="">Update Group</a></li> <li><a href="/api/delete-group.html" class="">Delete Group</a></li> <li><a href="/api/get-group.html" class="">Get Group</a></li> <li><a href="/api/list-groups.html" class="">List Groups</a></li> <li><a href="/api/list-group-admins.html" class="">List Group Admins</a></li> <li><a href="/api/list-group-members.html" class="">List Group Members</a></li> <li><a href="/api/list-group-activity.html" class="">List Group Activity</a></li></ul></li></ul></div><div id="page-content-wrapper"><div class="nav"><div class="container-fluid"><div class="row"><div class="col-lg-12"><div class="action-menu pull-left clearfix"><a href="#menu-toggle" id="menu-toggle"><i class="fa fa-bars" aria-hidden="true"></i></a></div><ul class="pull-right"><li id="gh-eyes-item" class="hidden-xs"><a href="https://github.com/VinylDNS/vinyldns"><i class="fa fa-eye"></i><span>WATCH<span id="eyes" class="label label-default">--</span></span></a></li><li id="gh-stars-item" class="hidden-xs"><a href="https://github.com/VinylDNS/vinyldns"><i class="fa fa-star-o"></i><span>STARS<span id="stars" class="label label-default">--</span></span></a></li></ul></div></div></div></div><div id="content" data-github-owner="VinylDNS" data-github-repo="vinyldns"><div class="content-wrapper"><section><h1 id="create-group">Create Group</h1>
<p>Creates a Group in VinylDNS</p>
<h4 id="http-request">HTTP REQUEST</h4>
<blockquote>
<p>POST /groups</p>
</blockquote>
<h4 id="http-request-params">HTTP REQUEST PARAMS</h4>
<table>
<thead>
<tr>
<th>name</th>
<th>type</th>
<th>required?</th>
<th style="text-align: left">description</th>
</tr>
</thead>
<tbody>
<tr>
<td>name</td>
<td>string</td>
<td>yes</td>
<td style="text-align: left">The name of the group. Should be one word, use hyphens if needed but no spaces</td>
</tr>
<tr>
<td>email</td>
<td>string</td>
<td>yes</td>
<td style="text-align: left">The email distribution list for the group</td>
</tr>
<tr>
<td>description</td>
<td>string</td>
<td>no</td>
<td style="text-align: left">A short description of the group if more info is needed other than the name</td>
</tr>
<tr>
<td>members</td>
<td>Array of User id objects</td>
<td>yes</td>
<td style="text-align: left">Set of User ids in the group</td>
</tr>
<tr>
<td>admins</td>
<td>Array of User id objects</td>
<td>yes</td>
<td style="text-align: left">Set of User ids that are admins of the group. All admin user ids should also be in the members array</td>
</tr>
</tbody>
</table>
<h4 id="example-http-request">EXAMPLE HTTP REQUEST</h4>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>{
"name": "some-group",
"email": "test@example.com",
"description": "an example group",
"members": [
{
"id": "2764183c-5e75-4ae6-8833-503cd5f4dcb0"
}
],
"admins": [
{
"id": "2764183c-5e75-4ae6-8833-503cd5f4dcb0"
}
]
}
</code></pre></div></div>
<h4 id="http-response-types">HTTP RESPONSE TYPES</h4>
<table>
<thead>
<tr>
<th>Code</th>
<th style="text-align: left">description</th>
</tr>
</thead>
<tbody>
<tr>
<td>200</td>
<td style="text-align: left"><strong>OK</strong> - The group has been created and the group info is returned in the response body</td>
</tr>
<tr>
<td>400</td>
<td style="text-align: left"><strong>Bad Request</strong> - The group was invalid</td>
</tr>
<tr>
<td>401</td>
<td style="text-align: left"><strong>Unauthorized</strong> - The authentication information provided is invalid. Typically the request was not signed properly, or the access key and secret used to sign the request are incorrect</td>
</tr>
<tr>
<td>404</td>
<td style="text-align: left"><strong>Not Found</strong> - A user id was not found</td>
</tr>
<tr>
<td>409</td>
<td style="text-align: left"><strong>Conflict</strong> - A group with the same name already exists</td>
</tr>
</tbody>
</table>
<h4 id="http-response-attributes">HTTP RESPONSE ATTRIBUTES</h4>
<table>
<thead>
<tr>
<th>name</th>
<th>type</th>
<th style="text-align: left">description</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>string</td>
<td style="text-align: left">Unique UUID of the group</td>
</tr>
<tr>
<td>name</td>
<td>string</td>
<td style="text-align: left">The name of the group</td>
</tr>
<tr>
<td>email</td>
<td>string</td>
<td style="text-align: left">The email distribution list of the group</td>
</tr>
<tr>
<td>description</td>
<td>string</td>
<td style="text-align: left">The group description, the group will not have this attribute if it was not included in the create request</td>
</tr>
<tr>
<td>created</td>
<td>string</td>
<td style="text-align: left">The timestamp (UTC) the group was created</td>
</tr>
<tr>
<td>status</td>
<td>string</td>
<td style="text-align: left"><strong>Active</strong> or <strong>Deleted</strong>, in this case <strong>Active</strong></td>
</tr>
<tr>
<td>members</td>
<td>Array of User ID objects</td>
<td style="text-align: left">IDs of members of the group including admins</td>
</tr>
<tr>
<td>admins</td>
<td>Array of User ID objects</td>
<td style="text-align: left">IDs of admins of the group</td>
</tr>
</tbody>
</table>
<h4 id="example-response">EXAMPLE RESPONSE</h4>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>{
"id": "6f8afcda-7529-4cad-9f2d-76903f4b1aca",
"name": "some-group",
"email": "test@example.com",
"description": "an example group",
"created": "2017-03-02T15:29:21Z",
"status": "Active",
"members": [
{
"id": "2764183c-5e75-4ae6-8833-503cd5f4dcb0"
}
],
"admins": [
{
"id": "2764183c-5e75-4ae6-8833-503cd5f4dcb0"
}
]
}
</code></pre></div></div>
</section><div class="edit-button"><a href="https://github.com/VinylDNS/vinyldns/edit/master/modules/docs/src/main/tut/api/create-group.md" class="btn-sm btn-info">Improve this page</a></div></div></div></div></div><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script><script src="/highlight/highlight.pack.js"></script><script>hljs.configure({languages:['scala','java','bash']});
hljs.initHighlighting();
</script><script>((window.gitter = {}).chat = {}).options = {
room: 'vinyldns/Lobby'};</script><script src="https://sidecar.gitter.im/dist/sidecar.v1.js"></script><script src="/js/main.js"></script></body></html>