Spanning Users API

User backup license management operations

OpenAPI Specification

spanning-users-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Spanning Backup for Google Workspace Exports Users API
  description: RESTful API for managing Spanning Backup for Google Workspace. Provides operations for managing user backup licenses (assign, unassign, list, get), shared drive backup management, and initiating and retrieving data exports. Authentication uses API tokens obtained from Settings > Backup and Security > API Token in the Spanning admin portal.
  version: 1.0.0
  contact:
    name: Spanning Support
    url: https://spanning.com/support/
  termsOfService: https://spanning.com/terms-of-service/
servers:
- url: https://api.spanningbackup.com
  description: Spanning Backup for Google Workspace API
tags:
- name: Users
  description: User backup license management operations
paths:
  /users:
    get:
      operationId: listUsers
      summary: List Users
      description: Returns a list of all users in the Spanning Backup account with their backup status and license information
      tags:
      - Users
      security:
      - ApiKeyAuth: []
      parameters:
      - name: pageSize
        in: query
        description: Number of users to return per page
        required: false
        schema:
          type: integer
          default: 100
      - name: pageToken
        in: query
        description: Pagination token from a previous response to get the next page
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response with paginated user list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserList'
        '401':
          description: Unauthorized — invalid or missing API token
        '403':
          description: Forbidden — insufficient permissions
  /users/{userKey}:
    get:
      operationId: getUser
      summary: Get User
      description: Returns backup status and license information for a single user
      tags:
      - Users
      security:
      - ApiKeyAuth: []
      parameters:
      - name: userKey
        in: path
        description: User's email address or unique user ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response with user details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '401':
          description: Unauthorized
        '404':
          description: User not found
  /users/{userKey}/assign:
    post:
      operationId: assignUser
      summary: Assign User
      description: Assigns a Spanning Backup license to the specified user, enabling backup protection for their account
      tags:
      - Users
      security:
      - ApiKeyAuth: []
      parameters:
      - name: userKey
        in: path
        description: User's email address or unique user ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: User successfully assigned a backup license
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '401':
          description: Unauthorized
        '404':
          description: User not found
        '409':
          description: User already assigned
  /users/{userKey}/unassign:
    post:
      operationId: unassignUser
      summary: Unassign User
      description: Removes the Spanning Backup license from the specified user, disabling backup protection
      tags:
      - Users
      security:
      - ApiKeyAuth: []
      parameters:
      - name: userKey
        in: path
        description: User's email address or unique user ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: User successfully unassigned from backup
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '401':
          description: Unauthorized
        '404':
          description: User not found
components:
  schemas:
    User:
      type: object
      description: A user in the Spanning Backup account
      properties:
        userKey:
          type: string
          description: Unique user identifier (email address or user ID)
          example: john.doe@example.com
        email:
          type: string
          format: email
          description: User's email address
          example: john.doe@example.com
        displayName:
          type: string
          description: User's display name
          example: John Doe
        assigned:
          type: boolean
          description: Whether the user has an active Spanning Backup license
          example: true
        backupStatus:
          type: string
          description: Current backup status for the user
          enum:
          - ENABLED
          - DISABLED
          - PENDING
          example: ENABLED
        lastBackup:
          type: string
          format: date-time
          description: Timestamp of the user's most recent backup
          example: '2026-05-01T02:30:00Z'
        isAdmin:
          type: boolean
          description: Whether the user is a Google Workspace admin
        isSuspended:
          type: boolean
          description: Whether the user's Google Workspace account is suspended
    UserList:
      type: object
      description: Paginated list of Spanning Backup users
      properties:
        users:
          type: array
          description: Array of user objects
          items:
            $ref: '#/components/schemas/User'
        nextPageToken:
          type: string
          nullable: true
          description: Token for retrieving the next page of results
        totalResults:
          type: integer
          description: Total number of users in the account
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Spanning API token obtained from Settings > Backup and Security > API Token in the admin portal
externalDocs:
  description: Spanning Backup API Reference
  url: https://api.spanningbackup.com/index.html