Csharp (SDK)
using Meitner;
using Meitner.Models.Components;
using Meitner.Models.Requests;
var sdk = new MeitnerSDK(security: new Security() {
Option1 = new SecurityOption1() {
ClientCredentials = "<YOUR_API_KEY_HERE>",
ClientSecret = "<YOUR_API_KEY_HERE>",
},
});
GroupListResponse? res = await sdk.Groups.ListAsync(
limit: 1,
offset: 0
);
while(res != null)
{
// handle items
res = await res.Next!();
}from meitner import Meitner, models
import os
with Meitner(
security=models.Security(
option1=models.SecurityOption1(
client_credentials=os.getenv("MEITNER_CLIENT_CREDENTIALS", ""),
client_secret=os.getenv("MEITNER_CLIENT_SECRET", ""),
),
),
) as m_client:
res = m_client.groups.list(limit=1, offset=0)
while res is not None:
# Handle items
res = res.next()curl --request GET \
--url https://api.meitner.se/directory/v1/group \
--header 'Client-ID: <api-key>' \
--header 'Client-Secret: <api-key>'const options = {
method: 'GET',
headers: {'Client-ID': '<api-key>', 'Client-Secret': '<api-key>'}
};
fetch('https://api.meitner.se/directory/v1/group', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meitner.se/directory/v1/group",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Client-ID: <api-key>",
"Client-Secret: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.meitner.se/directory/v1/group"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Client-ID", "<api-key>")
req.Header.Add("Client-Secret", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.meitner.se/directory/v1/group")
.header("Client-ID", "<api-key>")
.header("Client-Secret", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meitner.se/directory/v1/group")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Client-ID"] = '<api-key>'
request["Client-Secret"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"meta": {
"createdAt": "2024-01-15T10:30:00Z",
"createdBy": "987fcdeb-51a2-43d1-b567-123456789abc",
"updatedAt": "2024-01-15T14:45:00Z",
"updatedBy": "987fcdeb-51a2-43d1-b567-123456789abc"
},
"external": {
"sourceID": "12345678",
"source": "ExternalIntegrationAPI"
},
"schoolID": "123e4567-e89b-12d3-a456-426614174000",
"category": "Education",
"title": "1A",
"types": [
"Class"
],
"moderatorIDs": [
"123e4567-e89b-12d3-a456-426614174000"
],
"memberIDs": [
"123e4567-e89b-12d3-a456-426614174000"
]
}
],
"pagination": {
"offset": 0,
"limit": 1,
"total": 100
}
}{
"error": {
"code": "BadRequest",
"message": "The request contains invalid parameters or malformed data",
"requestID": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "Unauthorized",
"message": "Authentication credentials are missing or invalid",
"requestID": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "Forbidden",
"message": "You do not have permission to perform this operation",
"requestID": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "NotFound",
"message": "The requested resource could not be found",
"requestID": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "Conflict",
"message": "The request conflicts with the current state of the resource",
"requestID": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "RateLimited",
"message": "Too many requests - rate limit exceeded",
"requestID": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "Internal",
"message": "An unexpected server error occurred",
"requestID": "550e8400-e29b-41d4-a716-446655440000"
}
}Group
List Groups
Returns a paginated list of all Groups in your organization.
GET
/
group
Csharp (SDK)
using Meitner;
using Meitner.Models.Components;
using Meitner.Models.Requests;
var sdk = new MeitnerSDK(security: new Security() {
Option1 = new SecurityOption1() {
ClientCredentials = "<YOUR_API_KEY_HERE>",
ClientSecret = "<YOUR_API_KEY_HERE>",
},
});
GroupListResponse? res = await sdk.Groups.ListAsync(
limit: 1,
offset: 0
);
while(res != null)
{
// handle items
res = await res.Next!();
}from meitner import Meitner, models
import os
with Meitner(
security=models.Security(
option1=models.SecurityOption1(
client_credentials=os.getenv("MEITNER_CLIENT_CREDENTIALS", ""),
client_secret=os.getenv("MEITNER_CLIENT_SECRET", ""),
),
),
) as m_client:
res = m_client.groups.list(limit=1, offset=0)
while res is not None:
# Handle items
res = res.next()curl --request GET \
--url https://api.meitner.se/directory/v1/group \
--header 'Client-ID: <api-key>' \
--header 'Client-Secret: <api-key>'const options = {
method: 'GET',
headers: {'Client-ID': '<api-key>', 'Client-Secret': '<api-key>'}
};
fetch('https://api.meitner.se/directory/v1/group', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meitner.se/directory/v1/group",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Client-ID: <api-key>",
"Client-Secret: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.meitner.se/directory/v1/group"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Client-ID", "<api-key>")
req.Header.Add("Client-Secret", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.meitner.se/directory/v1/group")
.header("Client-ID", "<api-key>")
.header("Client-Secret", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meitner.se/directory/v1/group")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Client-ID"] = '<api-key>'
request["Client-Secret"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"meta": {
"createdAt": "2024-01-15T10:30:00Z",
"createdBy": "987fcdeb-51a2-43d1-b567-123456789abc",
"updatedAt": "2024-01-15T14:45:00Z",
"updatedBy": "987fcdeb-51a2-43d1-b567-123456789abc"
},
"external": {
"sourceID": "12345678",
"source": "ExternalIntegrationAPI"
},
"schoolID": "123e4567-e89b-12d3-a456-426614174000",
"category": "Education",
"title": "1A",
"types": [
"Class"
],
"moderatorIDs": [
"123e4567-e89b-12d3-a456-426614174000"
],
"memberIDs": [
"123e4567-e89b-12d3-a456-426614174000"
]
}
],
"pagination": {
"offset": 0,
"limit": 1,
"total": 100
}
}{
"error": {
"code": "BadRequest",
"message": "The request contains invalid parameters or malformed data",
"requestID": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "Unauthorized",
"message": "Authentication credentials are missing or invalid",
"requestID": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "Forbidden",
"message": "You do not have permission to perform this operation",
"requestID": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "NotFound",
"message": "The requested resource could not be found",
"requestID": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "Conflict",
"message": "The request conflicts with the current state of the resource",
"requestID": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "RateLimited",
"message": "Too many requests - rate limit exceeded",
"requestID": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "Internal",
"message": "An unexpected server error occurred",
"requestID": "550e8400-e29b-41d4-a716-446655440000"
}
}Authorizations
ClientCredentials & ClientSecretOAuth2
Query Parameters
The maximum number of Groups to return (default: 50) when listing Groups
Example:
1
The number of Groups to skip before starting to return results (default: 0) when listing Groups
Example:
0
Response
Response for Group List operation - returns a paginated list of Group
Array of Group objects
Show child attributes
Show child attributes
Example:
[ { "id": "123e4567-e89b-12d3-a456-426614174000", "meta": { "createdAt": "2024-01-15T10:30:00Z", "createdBy": "987fcdeb-51a2-43d1-b567-123456789abc", "updatedAt": "2024-01-15T14:45:00Z", "updatedBy": "987fcdeb-51a2-43d1-b567-123456789abc" }, "external": { "sourceID": "12345678", "source": "ExternalIntegrationAPI" }, "schoolID": "123e4567-e89b-12d3-a456-426614174000", "category": "Education", "title": "1A", "types": ["Class"], "moderatorIDs": ["123e4567-e89b-12d3-a456-426614174000"], "memberIDs": ["123e4567-e89b-12d3-a456-426614174000"] } ]
Pagination information
Show child attributes
Show child attributes
Example:
{ "offset": 0, "limit": 1, "total": 100 }
⌘I