Backupify Seats API
User and resource seat licensing and management
User and resource seat licensing and management
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/backupify-seats-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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