Spinpanel (Preview)
Spinpanel, allows you to sell, deploy, manage and automate Microsoft Cloud solutions
This connector is available in the following products and regions:
Service | Class | Regions |
---|---|---|
Logic Apps | Standard | All Logic Apps regions except the following: - Azure Government regions - Azure China regions - US Department of Defense (DoD) |
Power Automate | Premium | All Power Automate regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
Power Apps | Premium | All Power Apps regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
Contact | |
---|---|
Name | Spinpanel Support |
URL | https://help.spinpanel.com |
[email protected] |
Connector Metadata | |
---|---|
Publisher | Spinpanel B.V. |
Website | https://www.spinpanel.com |
Privacy policy | https://knowledge.spinpanel.com/en/privacy-policy |
Categories | Business Management;IT Operations |
Spinpanel enables organizations to sell, deploy, manage and automate Microsoft 365 and Azure solutions. It provides detailed insights in usage, invoicing data and provides intuitive self-service options.
Prerequisites
You will need the following to proceed:
- A Spinpanel Cloud Essentials, Cloud Business or Cloud Enterprise subscription.
- Configured solutions in Spinpanel for the specific operations you intend to use.
- Configured roles in Spinpanel for the specific operations you intend to use.
How to get credentials
You can login with any account that is configured to access Spinpanel. For automation scenarios we advise you to use a dedicated service account.
Get started with your connector
Start with Get organizations, to retrieve a list of organizations your're allowed to manage (including your own). Organizations are returned according to the configured role scopes in Spinpanel Portal. Use the Ids for consecutive calls. For operations that required a partner Id, use the Id from your own organization. For some operations you'll require a tenant Id instead of the internal Spinpanel Id or both.
Known issues and limitations
Some operations require the target organization to have a matching Microsoft 365 license and/or an active Azure subscription. For example: configuring conditional access, requires an Microsoft Entra ID Premium license.
Throttling Limits
Name | Calls | Renewal Period |
---|---|---|
API calls per connection | 100 | 60 seconds |
Actions
Add a member to a group |
Add a member to a Microsoft 365 group or a security group through the members navigation property. |
Add a member to a user group |
Add a member to a user group, the member should belong to the same organization as the group. |
Assign a license to a user |
Add or remove licenses for the user. You can also enable and disable specific plans associated with a license. |
Create Microsoft Entra ID group |
Create Microsoft Entra ID group. |
Create user |
The request body contains the user to create. At a minimum, you must specify the required properties for the user. You can optionally specify any other writable properties. |
Delete Spinpanel user group |
Delete a user group. |
Delete user |
Delete a user. When deleted, user resources are moved to a temporary container and can be restored within 30 days. After that time, they are permanently deleted. |
Get a list of Spinpanel user group members |
Get a list of user group members of a specific group. |
Get locales |
Get locales. |
Get Microsoft Entra ID security groups |
Get a list of Microsoft Entra ID security groups of all organizations you are authorized to view. |
Get organization subscribed SKUs |
Get the list of commercial subscriptions that an organization has acquired. |
Get organizations |
Get all organizations you are authorized to view. |
Get spinpanel user groups |
Get a list of groups of all organizations you are authorized to view. |
Get subscriptions |
Retrieves all subscriptions for the customer of a partner by their Microsoft Entra ID tenant identifier. |
Get user details |
Get a user by Microsoft object identifier. |
Get user license details |
Retrieve a list of license details objects for enterprise users. |
Get users |
Retrieve a list of user objects. |
List organization domains |
Retrieve a list of domain objects. |
Remove a member from a user group |
Remove a member to a user group. |
Remove member |
Remove a member from a group via the members navigation property. |
Update subscription quantity |
Update the quantity of a subscription. |
User change password |
Update the password profile of a user to reset their password. |
Add a member to a group
Add a member to a Microsoft 365 group or a security group through the members navigation property.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Microsoft object id of the group.
|
microsoftObjectId | True | string |
Microsoft object identifier of the group. |
Member
|
@odata.id | True | string |
URI of the directory, user, group, or organizational contact object to be added. |
Add a member to a user group
Add a member to a user group, the member should belong to the same organization as the group.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Spinpanel user group id.
|
userGroupId | True | string |
Spinpanel user group identifier. |
Spinpanel user id.
|
userId | True | string |
Spinpanel user identifier. |
Assign a license to a user
Add or remove licenses for the user. You can also enable and disable specific plans associated with a license.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Microsoft object id of the user.
|
microsoftObjectId | True | string |
Microsoft object identifier of the user. |
disabledPlans
|
disabledPlans | array of |
Disabled plans. |
|
Sku id
|
skuId | string |
Sku identifier of the Microsoft license. |
|
Remove licenses
|
removeLicenses | array of |
A collection of GUIDs that identify the licenses to remove. |
Returns
Name | Path | Type | Description |
---|---|---|---|
value
|
value | array of object |
Value. |
Id
|
value.id | string |
Identifier of the license object. |
Sku id
|
value.skuId | string |
Microsoft sku identifier. |
Sku partnumber
|
value.skuPartNumber | string |
Microsoft Sku partnumber. |
servicePlans
|
value.servicePlans | array of object |
Serviceplans. |
servicePlanId
|
value.servicePlans.servicePlanId | string |
Serviceplan identifier. |
servicePlanName
|
value.servicePlans.servicePlanName | string |
Serviceplan name. |
provisioningStatus
|
value.servicePlans.provisioningStatus | string |
Provisioning status. |
appliesTo
|
value.servicePlans.appliesTo | string |
Applies to. |
Create Microsoft Entra ID group
Create Microsoft Entra ID group.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Description
|
description | string |
Description of the group. |
|
Display name
|
displayName | string |
Display name of the group. |
|
groupTypes
|
groupTypes | array of string |
Group types. |
|
Mail enabled
|
mailEnabled | boolean |
Indicates if the group is mail enabled. |
|
Mail nickname
|
mailNickname | string |
Mail nickname of the group. |
|
Security enabled
|
securityEnabled | boolean |
Indicates if the group is security enabled. |
Returns
Name | Path | Type | Description |
---|---|---|---|
Id
|
id | string |
Identifier of the group. |
Deleted on
|
deletedDateTime | string |
Deleted on. |
Classification
|
classification | string |
Classification of the group. |
Created on
|
createdDateTime | string |
Created on. |
creationOptions
|
creationOptions | array of string |
Creation options. |
Description
|
description | string |
Description. |
Display name
|
displayName | string |
Display name. |
groupTypes
|
groupTypes | array of string |
groupTypes |
Mail
|
string |
E-mail address of the group. |
|
Mail enabled
|
mailEnabled | boolean |
Indicates the group is mail enabled. |
Mail nickname
|
mailNickname | string |
Mail nickname of the group. |
On premise last sync
|
onPremisesLastSyncDateTime | string |
Indicates when the group was synced to on premise. |
On premise security identifier
|
onPremisesSecurityIdentifier | string |
On premise security identifier of the group. |
On premise sync enabled
|
onPremisesSyncEnabled | string |
Indicates if on premise sync is enabled. |
Preferred data location
|
preferredDataLocation | string |
Preferred data location of the group. |
proxyAddresses
|
proxyAddresses | array of string |
Proxy addresses. |
Renewed
|
renewedDateTime | string |
Renewed date time of the group. |
resourceBehaviorOptions
|
resourceBehaviorOptions | array of string |
Resource behavior options. |
resourceProvisioningOptions
|
resourceProvisioningOptions | array of string |
Resource provsioning options. |
Security enabled
|
securityEnabled | boolean |
Indicates if the group is security enabled. |
Visbility
|
visibility | string |
Visibility of the group. |
onPremisesProvisioningErrors
|
onPremisesProvisioningErrors | array of string |
On premise provisioning errors. |
Create user
The request body contains the user to create. At a minimum, you must specify the required properties for the user. You can optionally specify any other writable properties.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Account enabled
|
accountEnabled | boolean |
Account enabled true or false. |
|
Display name
|
displayName | string |
Display name of the user. |
|
Mail nickname
|
mailNickname | string |
Mail nickname of the user. |
|
User principal name
|
userPrincipalName | string |
User principal name of the user. |
|
Force change password next signin
|
forceChangePasswordNextSignIn | boolean |
Force the user to change the password at next sign in. |
|
Password
|
password | string |
New password for the user. |
Returns
Name | Path | Type | Description |
---|---|---|---|
OData context
|
@odata.context | string |
OData context. |
Id
|
id | string |
Spinpanel Identifier. |
businessPhones
|
businessPhones | array of string |
Business phones of the user. |
Display name
|
displayName | string |
Display name of the user. |
Given name
|
givenName | string |
Given name. |
Job title
|
jobTitle | string |
Job title of the user. |
Mail
|
string |
E-mail address of the user. |
|
Mobile phone
|
mobilePhone | string |
Mobile phonenumber of the user. |
Office location
|
officeLocation | string |
Office location of the user. |
Preferred language
|
preferredLanguage | string |
Preferred language as configured in Microsoft Entra ID. |
Surname
|
surname | string |
Surname of the user. |
User Principal Name
|
userPrincipalName | string |
User principal name of the user. |
Delete Spinpanel user group
Delete a user group.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Spinpanel identifier for the user group.
|
userGroupId | True | string |
Spinpanel identifier for the user group. |
Delete user
Delete a user. When deleted, user resources are moved to a temporary container and can be restored within 30 days. After that time, they are permanently deleted.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Microsoft object id of the user.
|
microsoftObjectId | True | string |
Microsoft object identifier of the user. |
Get a list of Spinpanel user group members
Get a list of user group members of a specific group.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Spinpanel identifier of the group.
|
userGroupId | True | string |
Spinpanel identifier of the group. |
Returns
Name | Path | Type | Description |
---|---|---|---|
Count
|
@odata.count | integer |
OData count. |
value
|
value | array of object |
Value. |
Name
|
value.name | string |
Name. |
User principal name
|
value.upn | string |
User principal name of the group. |
Id
|
value.id | string |
Identifier of the group member object. |
Group id
|
value.groupId | string |
Spinpanel identifier of the group. |
Created on
|
value.createdOn | string |
Created on. |
Modified on
|
value.modifiedOn | string |
Modified on. |
Get locales
Get locales.
Returns
Name | Path | Type | Description |
---|---|---|---|
OData context
|
@odata.context | string |
OData context. |
Count
|
@odata.count | integer |
OData count. |
OData nextLink
|
@odata.nextLink | string |
OData nextlink. |
value
|
value | array of object |
Value. |
Id
|
value.id | string |
Locale identifier. |
Locale code
|
value.localeCode | string |
ISO-639 Language Codes. |
Country code
|
value.countryCode | string |
ISO-3166 Country Codes. |
Country name
|
value.countryName | string |
Country name. |
Get Microsoft Entra ID security groups
Get a list of Microsoft Entra ID security groups of all organizations you are authorized to view.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Returns
Name | Path | Type | Description |
---|---|---|---|
value
|
value | array of object |
Value. |
Created on
|
value.createdDateTime | string |
Created on. |
Displayname
|
value.displayName | string |
Display name. |
groupTypes
|
value.groupTypes | array of string |
Group types. |
Id
|
value.id | string |
Microsoft object identifier of the group. |
Security enabled
|
value.securityEnabled | boolean |
Indicates if the group is security enabled. |
Mail
|
value.mail | string |
E-mail address of the group. |
Get organization subscribed SKUs
Get the list of commercial subscriptions that an organization has acquired.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Returns
Name | Path | Type | Description |
---|---|---|---|
value
|
value | array of object |
Value. |
Capability status
|
value.capabilityStatus | string |
Capability status of the Microsoft sku. |
Consumed units
|
value.consumedUnits | integer |
Consumed units for this sku. |
Id
|
value.id | string |
Identifier of the subscribed sku object. |
Sku id
|
value.skuId | string |
Sku identifier of the Microsoft license. |
Sku partnumber
|
value.skuPartNumber | string |
Sku partnumber of the Microsoft license. |
Applies to
|
value.appliesTo | string |
Applies to user or organization. |
Enabled
|
value.prepaidUnits.enabled | integer |
Enabled subscribed skus. |
Suspended
|
value.prepaidUnits.suspended | integer |
Suspended subscribed skus. |
Warning
|
value.prepaidUnits.warning | integer |
Subscribed skus with warning. |
servicePlans
|
value.servicePlans | array of object |
Serviceplans. |
servicePlanId
|
value.servicePlans.servicePlanId | string |
Serviceplan identifier. |
servicePlanName
|
value.servicePlans.servicePlanName | string |
Serviceplan name. |
provisioningStatus
|
value.servicePlans.provisioningStatus | string |
Provisioning status. |
appliesTo
|
value.servicePlans.appliesTo | string |
Applies to. |
Get organizations
Get all organizations you are authorized to view.
Returns
Name | Path | Type | Description |
---|---|---|---|
OData count
|
@odata.count | integer |
OData count. |
value
|
value | array of object |
Value. |
Name
|
value.name | string |
Name of the Microsoft Entra ID organization. |
Microsoft tenantId
|
value.microsoftTenantId | string |
Microsoft tenant identifier of the organization. |
Created on
|
value.createdOn | string |
Created on. |
Modified on
|
value.modifiedOn | string |
Modified on. |
Id
|
value.id | string |
Spinpanel identifier. |
Get spinpanel user groups
Get a list of groups of all organizations you are authorized to view.
Returns
Name | Path | Type | Description |
---|---|---|---|
Count
|
@odata.count | integer |
OData count. |
value
|
value | array of object |
Value. |
Organization Id
|
value.organizationId | string |
Spinpanel organization identifier. |
Name
|
value.name | string |
Name of the group. |
Description
|
value.description | string |
Description for the group. |
Id
|
value.id | string |
Identifier of the group. |
Created on
|
value.createdOn | string |
Created on. |
Modified on
|
value.modifiedOn | string |
Modified on. |
Get subscriptions
Retrieves all subscriptions for the customer of a partner by their Microsoft Entra ID tenant identifier.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel partner identifier.
|
partnerId | True | string |
Spinpanel partner identifier. |
Spinpanel customer identifier.
|
customerId | True | string |
Spinpanel customer identifier. |
Microsoft tenant Id of the customer.
|
tenantId | True | string |
Microsoft tenant identifier of the customer. |
Returns
Name | Path | Type | Description |
---|---|---|---|
Total count
|
totalCount | integer |
Total count of the subscription object. |
items
|
items | array of object |
Items. |
Id
|
items.id | string |
Identifier of the subscription. |
Entitlement id
|
items.entitlementId | string |
Entitlement identifier of the subscription. |
Friendly name
|
items.friendlyName | string |
Friendly name of the subscription. |
Quantity
|
items.quantity | integer |
Quantity of the subscription. |
Unit type
|
items.unitType | string |
Unit type of the subscription. |
Created on
|
items.creationDate | string |
Created on date of the subscription. |
Effective start date
|
items.effectiveStartDate | string |
Effective start date of the subscription. |
Commitment end date
|
items.commitmentEndDate | string |
Commitment end date of the subscription. |
Status
|
items.status | string |
Status of the subscription. |
Auto renew
|
items.autoRenewEnabled | boolean |
Indicates if auto renew is enabled for the subscription. |
Billing type
|
items.billingType | string |
Billing type of the subscription. |
Contract type
|
items.contractType | string |
Contract type of the subscription. |
Uri
|
items.links.offer.uri | string |
Uri of the subscription. |
Method
|
items.links.offer.method | string |
Method of the subscription. |
headers
|
items.links.offer.headers | array of |
Headers. |
Uri
|
items.links.self.uri | string |
Uri of the subscription. |
Method
|
items.links.self.method | string |
Method of the subscription. |
headers
|
items.links.self.headers | array of |
Headers. |
Order id
|
items.orderId | string |
Order identifier of the subscription. |
Etag
|
items.attributes.etag | string |
Etag of the subscription. |
Object type
|
items.attributes.objectType | string |
Object type of the subscription. |
Object type
|
attributes.objectType | string |
Object type of the subscription. |
Get user details
Get a user by Microsoft object identifier.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Microsoft object id of the user.
|
microsoftObjectId | True | string |
Microsoft object identifier of the user. |
Returns
Name | Path | Type | Description |
---|---|---|---|
Account enabled
|
accountEnabled | boolean |
Account enabled true or false. |
Employee id
|
employeeId | string |
Employee identifier of the user. |
Display name
|
displayName | string |
Display name of the user. |
Given name
|
givenName | string |
Given name of the user. |
Surname
|
surname | string |
Surname of the user. |
User principal name
|
userPrincipalName | string |
User principal name of the user. |
Job title
|
jobTitle | string |
Job title of the user. |
Department
|
department | string |
Department of the user. |
Company name
|
companyName | string |
Company name of the user. |
Usagelocation
|
usageLocation | string |
Usage location of the user. |
Street address
|
streetAddress | string |
Street address of the user. |
City
|
city | string |
City of the user. |
State
|
state | string |
State of the user. |
Postal code
|
postalCode | string |
Postal code of the user. |
Country
|
country | string |
Country of the user. |
Get user license details
Retrieve a list of license details objects for enterprise users.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Microsoft object id of the user.
|
microsoftObjectId | True | string |
Microsoft object identifier of the user. |
Returns
Name | Path | Type | Description |
---|---|---|---|
value
|
value | array of object |
Value. |
Id
|
value.id | string |
Identifier of the user's license. |
Sku id
|
value.skuId | string |
Sku identifier of the Microsoft license. |
Sku partnumber
|
value.skuPartNumber | string |
Sku partnumber of the Microsoft license. |
servicePlans
|
value.servicePlans | array of object |
Service plans. |
servicePlanId
|
value.servicePlans.servicePlanId | string |
Serviceplan identifier. |
servicePlanName
|
value.servicePlans.servicePlanName | string |
Serviceplan name. |
provisioningStatus
|
value.servicePlans.provisioningStatus | string |
Provisioning status. |
appliesTo
|
value.servicePlans.appliesTo | string |
Applies to. |
Get users
Retrieve a list of user objects.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Filter users.
|
$filter | True | string |
Filter on users in an organization. Use: organizationId in ('{organizationId}'). |
Returns
Name | Path | Type | Description |
---|---|---|---|
OData count
|
@odata.count | integer |
OData count. |
value
|
value | array of object |
Value. |
Organization id
|
value.organizationId | string |
Spinpanel organization identifier. |
Microsoft object identifier
|
value.microsoftObjectIdentifier | string |
Microsoft object identifier of the user. |
User principal name
|
value.upn | string |
User principal name of the user. |
First name
|
value.firstName | string |
First name of the user. |
Last name
|
value.lastName | string |
Last name of the user. |
Display name
|
value.displayName | string |
Display name of the user. |
Language
|
value.language | string |
Language of the user. |
Usage location
|
value.usageLocation | string |
Usage location of the user. |
Id
|
value.id | string |
Spinpanel identifier of the user. |
Created On
|
value.createdOn | string |
Created On. |
Modified on
|
value.modifiedOn | string |
Modified on. |
List organization domains
Retrieve a list of domain objects.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Returns
Name | Path | Type | Description |
---|---|---|---|
value
|
value | array of object |
Value. |
Authentication type
|
value.authenticationType | string |
Authentication type of the domain. |
Availability status
|
value.availabilityStatus | string |
Availability status of the domain. |
Id
|
value.id | string |
Identifier of the domain. |
Admin managed
|
value.isAdminManaged | boolean |
Indicates if the domain is admin managed. |
Default
|
value.isDefault | boolean |
Indicates if this is the default domain. |
Initial
|
value.isInitial | boolean |
Indicates if this is the initial domain. |
Root
|
value.isRoot | boolean |
Indicates if this is the root domain. |
Verified
|
value.isVerified | boolean |
Indicates if the domain is verified. |
supportedServices
|
value.supportedServices | array of string |
Supported services. |
Password validity
|
value.passwordValidityPeriodInDays | integer |
Indicates the password validity in days. |
Password notification windows
|
value.passwordNotificationWindowInDays | integer |
Indicates the password notifcation window in days. |
State
|
value.state | string |
State of the domain. |
Remove a member from a user group
Remove a member to a user group.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Spinpanel user group id.
|
userGroupId | True | string |
Spinpanel user group identifier. |
Spinpanel user id.
|
userId | True | string |
Spinpanel user identifier. |
Remove member
Remove a member from a group via the members navigation property.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Microsoft object id of the group.
|
groupMicrosoftObjectId | True | string |
Microsoft object identifier of the group. |
Microsoft object id of the user.
|
userMicrosoftObjectId | True | string |
Microsoft object identifier of the user. |
Update subscription quantity
Update the quantity of a subscription.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel partner id.
|
partnerId | True | string |
Spinpanel partner identifier. |
Spinpanel customer id.
|
customerId | True | string |
Spinpanel customer identifier. |
Microsoft tenant id of the customer.
|
tenantId | True | string |
Microsoft tenant identifier of the customer. |
Subsription id.
|
subscriptionId | True | string |
Subscription identifier of the customer. |
Quantity
|
quantity | integer |
Quantity of the subscription. |
User change password
Update the password profile of a user to reset their password.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Spinpanel organization id.
|
organizationId | True | string |
Spinpanel organization identifier. |
Microsoft object id of the user.
|
microsoftObjectId | True | string |
Microsoft object identifier of the user. |
Force password change at signin
|
forceChangePasswordNextSignIn | boolean |
Force the user to change the password at next signin. |
|
Password
|
password | string |
New password to set. |