Backupify Seats API

User and resource seat licensing and management

Operations 2

GET /v1/saas/{saasCustomerId}/seats Backupify SaaS Protection API List Seats #
PUT /v1/saas/{saasCustomerId}/externalSubscriptionId/bulkSeatChange Backupify SaaS Protection API Bulk Seat Change #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/backupify-seats-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

backupify-seats-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Backupify SaaS Protection Domains Seats API
  description: The Backupify (Datto) SaaS Protection REST API provides programmatic access to manage cloud-to-cloud backup for Microsoft 365 and Google Workspace. It enables seat management, subscription configuration, and backup domain administration for MSPs and enterprise customers. Authentication uses HTTP Basic authentication with API key credentials.
  version: v1
  x-generated-from: documentation
  contact:
    name: Datto/Backupify Support
    url: https://www.backupify.com/
servers:
- url: https://api.datto.com
  description: Datto SaaS Protection API
security:
- BasicAuth: []
tags:
- name: Seats
  description: User and resource seat licensing and management
paths:
  /v1/saas/{saasCustomerId}/seats:
    get:
      operationId: listSeats
      summary: Backupify SaaS Protection API List Seats
      description: Lists all seats (users, shared mailboxes, sites, team sites, teams) for a given SaaS customer. Returns remote IDs needed for licensing operations.
      tags:
      - Seats
      parameters:
      - name: saasCustomerId
        in: path
        required: true
        schema:
          type: string
        description: The unique SaaS customer identifier
        example: cust-001
      responses:
        '200':
          description: List of seats for the customer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SeatsResponse'
              examples:
                ListSeats200Example:
                  summary: Default listSeats 200 response
                  x-microcks-default: true
                  value:
                    seats:
                    - remoteId: user-abc123
                      displayName: John Smith
                      email: jsmith@company.com
                      seatType: User
                      licenseStatus: Licensed
                      lastBackup: '2026-04-18T14:30:00Z'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Customer not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v1/saas/{saasCustomerId}/externalSubscriptionId/bulkSeatChange:
    put:
      operationId: bulkSeatChange
      summary: Backupify SaaS Protection API Bulk Seat Change
      description: Updates multiple Microsoft 365 or Google Workspace seats simultaneously. Supports licensing, unlicensing, and pausing up to 100 seats per request. Supported seat types include User, SharedMailbox, Site, TeamSite, and Team.
      tags:
      - Seats
      parameters:
      - name: saasCustomerId
        in: path
        required: true
        schema:
          type: string
        description: The unique SaaS customer identifier
        example: cust-001
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkSeatChangeRequest'
            examples:
              BulkSeatChangeRequestExample:
                summary: Default bulkSeatChange request
                x-microcks-default: true
                value:
                  seats:
                  - remoteId: user-abc123
                    action: License
                    seatType: User
      responses:
        '200':
          description: Seat changes applied successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkSeatChangeResponse'
              examples:
                BulkSeatChange200Example:
                  summary: Default bulkSeatChange 200 response
                  x-microcks-default: true
                  value:
                    results:
                    - remoteId: user-abc123
                      success: true
                      message: Seat licensed successfully
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    SeatChangeResult:
      title: SeatChangeResult
      type: object
      description: Result of a single seat change operation
      properties:
        remoteId:
          type: string
          description: Remote identifier for the seat
          example: user-abc123
        success:
          type: boolean
          description: Whether the operation succeeded
          example: true
        message:
          type: string
          description: Description of the result
          example: Seat licensed successfully
    ErrorResponse:
      title: ErrorResponse
      type: object
      description: API error response
      properties:
        code:
          type: integer
          description: HTTP status code
          example: 401
        message:
          type: string
          description: Error message
          example: Unauthorized
    SeatChange:
      title: SeatChange
      type: object
      description: A single seat change action
      properties:
        remoteId:
          type: string
          description: Remote identifier for the seat
          example: user-abc123
        action:
          type: string
          enum:
          - License
          - Unlicense
          - Pause
          description: Action to perform on the seat
          example: License
        seatType:
          type: string
          enum:
          - User
          - SharedMailbox
          - Site
          - TeamSite
          - Team
          description: Type of seat
          example: User
    Seat:
      title: Seat
      type: object
      description: A licensed or unlicensed seat (user, mailbox, site, or team)
      properties:
        remoteId:
          type: string
          description: Remote identifier for the seat in the source system
          example: user-abc123
        displayName:
          type: string
          description: Display name of the seat
          example: John Smith
        email:
          type: string
          format: email
          description: Email address for user seats
          example: jsmith@company.com
        seatType:
          type: string
          enum:
          - User
          - SharedMailbox
          - Site
          - TeamSite
          - Team
          description: Type of seat
          example: User
        licenseStatus:
          type: string
          enum:
          - Licensed
          - Unlicensed
          - Paused
          description: Current license status
          example: Licensed
        lastBackup:
          type: string
          format: date-time
          description: Timestamp of last successful backup
          example: '2026-04-18T14:30:00Z'
    BulkSeatChangeResponse:
      title: BulkSeatChangeResponse
      type: object
      description: Results of bulk seat change operations
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/SeatChangeResult'
    BulkSeatChangeRequest:
      title: BulkSeatChangeRequest
      type: object
      description: Request to change multiple seat licenses
      properties:
        seats:
          type: array
          items:
            $ref: '#/components/schemas/SeatChange'
          description: List of seat changes (max 100 per request)
    SeatsResponse:
      title: SeatsResponse
      type: object
      description: Response containing a list of seats for a customer
      properties:
        seats:
          type: array
          items:
            $ref: '#/components/schemas/Seat'
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication using API public key as username and private key as password