Skip to content

Account Scaffold API

Used by, for example, cthit/SyncIT to sync external accounts like GSuite and Bitwarden with Gamma.

Name Value
API Key Type ACCOUNT_SCAFFOLD
Base URL https://auth.chalmers.it/api/account-scaffold/v1
API Controller AccountScaffoldV1ApiController

Types

These are the types used in the Account Scaffold API.

User

Describes a Gamma user.

email: string
cid: string
nick: string
firstName: string
lastName: string
Example
{
  "email": "janed@chalmers.se",
  "cid": "janed",
  "nick": "Dough",
  "firstName": "Jane",
  "lastName": "Doe"
}

Super group

Describes a Gamma super group with subgroups and their members.

name: string
prettyName: string
type: "alumni" | "committee" | "functionaries" | "society"
useManagedAccount: boolean
groups: Group[]
Example
{
  "name": "prit",
  "prettyName": "P.R.I.T.",
  "type": "committee",
  "useManagedAccount": true,
  "groups": [
    {
      "name": "prit25",
      "prettyName": "P.R.I.T. 25",
      "members": [
        {
          "user": {
            "cid": "smithj",
            "nick": "Smithed",
            "firstName": "John",
            "lastName": "Smith",
            "email": "smithj@chalmers.se"
          },
          "post": {
            "postId": "3eea59d7-eaf6-498c-b43d-a315c13fac55",
            "svText": "Ordf\u00f6rande",
            "enText": "Chairman",
            "emailPrefix": "ordf"
          }
        },
        {
          "user": {
            "cid": "janed",
            "nick": "Dough",
            "firstName": "Jane",
            "lastName": "Doe",
            "email": "janed@chalmers.se"
          },
          "post": {
            "postId": "0b960919-6dc0-4128-b772-c31840b7b8f7",
            "svText": "MaterialChef",
            "enText": "MaterialChef",
            "emailPrefix": "material"
          }
        }
      ]
    }
  ]
}

Group

Describes a Gamma group and its members.

name: string
prettyName: string
members: UserPost[]
Example
{
  "name": "prit25",
  "prettyName": "P.R.I.T. 25",
  "members": [
    {
      "user": {
        "cid": "smithj",
        "nick": "Smithed",
        "firstName": "John",
        "lastName": "Smith",
        "email": "smithj@chalmers.se"
      },
      "post": {
        "postId": "3eea59d7-eaf6-498c-b43d-a315c13fac55",
        "svText": "Ordf\u00f6rande",
        "enText": "Chairman",
        "emailPrefix": "ordf"
      }
    },
    {
      "user": {
        "cid": "janed",
        "nick": "Dough",
        "firstName": "Jane",
        "lastName": "Doe",
        "email": "janed@chalmers.se"
      },
      "post": {
        "postId": "0b960919-6dc0-4128-b772-c31840b7b8f7",
        "svText": "MaterialChef",
        "enText": "MaterialChef",
        "emailPrefix": "material"
      }
    }
  ]
}

User post

Describes a Gamma user and their post in a group.

user: User
post: Post
Example
{
  "user": {
    "cid": "smithj",
    "nick": "Smithed",
    "firstName": "John",
    "lastName": "Smith",
    "email": "smithj@chalmers.se"
  },
  "post": {
    "postId": "3eea59d7-eaf6-498c-b43d-a315c13fac55",
    "svText": "Ordf\u00f6rande",
    "enText": "Chairman",
    "emailPrefix": "ordf"
  }
}

Post

Describes a Gamma post in a group.

postId: UUID
svText: string
enText: string
emailPrefix: string
Example
{
  "postid": "3eea59d7-eaf6-498c-b43d-a315c13fac55",
  "svtext": "ordf\u00f6rande",
  "entext": "chairman",
  "emailprefix": "ordf"
}

Endpoints Reference

The Account Scaffold API is currently hosted at https://auth.chalmers.it/api/account-scaffold/v1 and all endpoints in this section are relative to this URL.

GET /users

Get all active users, i.e. users in a "managed" group and who have completed GDPR training.

Return type: User list

Example

Click to show example request and response

Request

GET /users

Response

[
  {
    "email": "smithj@chalmers.se",
    "cid": "smithj",
    "nick": "Smithed",
    "firstName": "John",
    "lastName": "Smith"
  },
  {
    "email": "janed@chalmers.se",
    "cid": "janed",
    "nick": "Dough",
    "firstName": "Jane",
    "lastName": "Doe"
  }
]

GET /supergroups

Get all active super groups, i.e. super groups belonging to any of the active super group types configured in Gamma's settings. Only users who have completed GDPR training will be included in the result. In addition, super groups with no valid groups in them will be omitted.

Return type: Super group list

Example

Click to show example request and response

Request

GET /supergroups

Response

[
  {
    "name": "prit",
    "prettyName": "P.R.I.T.",
    "type": "committee",
    "useManagedAccount": true,
    "groups": [
      {
        "name": "prit25",
        "prettyName": "P.R.I.T. 25",
        "members": [
          {
            "user": {
              "cid": "smithj",
              "nick": "Smithed",
              "firstName": "John",
              "lastName": "Smith",
              "email": "smithj@chalmers.se"
            },
            "post": {
              "postId": "3eea59d7-eaf6-498c-b43d-a315c13fac55",
              "svText": "Ordf\u00f6rande",
              "enText": "Chairman",
              "emailPrefix": "ordf"
            }
          },
          {
            "user": {
              "cid": "janed",
              "nick": "Dough",
              "firstName": "Jane",
              "lastName": "Doe",
              "email": "janed@chalmers.se"
            },
            "post": {
              "postId": "0b960919-6dc0-4128-b772-c31840b7b8f7",
              "svText": "MaterialChef",
              "enText": "MaterialChef",
              "emailPrefix": "material"
            }
          }
        ]
      }
    ]
  }
]

Last modified on: 2026-08-24 19:45:55