API Documentation
Here's a link to my Github repository where I've created an OpenAPI 3.0 document for what I've scraped from the dev tools. Feel free to suggest any additional endpoints that you may find.
Last updated
Here's a link to my Github repository where I've created an OpenAPI 3.0 document for what I've scraped from the dev tools. Feel free to suggest any additional endpoints that you may find.
Last updated
{
"openapi": "3.0.0",
"info": {
"title": "CW Home Community API",
"description": "A community created API document for CW Home until such time that ConnectWise creates their own.",
"version": "0.0.1"
},
"servers": [
{
"url": "https://auth.connectwise.com/api"
}
],
"paths": {
"/users": {
"get": {
"tags": [
"User"
],
"description": "Returns a list of user objects",
"summary": "List Users",
"operationId": "listUsers",
"parameters": [
{
"in": "header",
"name": "Content-Type",
"schema": {
"type": "string",
"default": "application/json;version=1.0"
},
"required": true
}
],
"responses": {
"200": {
"description": "user response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/user"
}
}
}
}
}
}
},
"post": {
"tags": [
"User"
],
"description": "Creates a new User",
"summary": "Create User",
"operationId": "createUser",
"parameters": [
{
"in": "header",
"name": "Content-Type",
"schema": {
"type": "string",
"default": "application/json;version=3.0"
},
"required": true
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/user"
}
}
}
},
"responses": {
"200": {
"description": "user response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/user"
}
}
}
}
}
}
}
},
"/users/{user_id}": {
"get": {
"description": "Get user by id",
"summary": "Get User by ID",
"operationId": "getUserById",
"tags": [
"User"
],
"parameters": [
{
"in": "header",
"name": "Content-Type",
"schema": {
"type": "string",
"default": "application/json;version=1.0"
},
"required": true
},
{
"name": "user_id",
"in": "path",
"description": "ID of user",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "User response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/user"
}
}
}
}
}
}
},
"/connected-apps": {
"get": {
"tags": [
"Connected Apps"
],
"servers": [
{
"url": "https://iambff.itsupport247.net/iambff/v1"
}
],
"description": "List all connected apps settings",
"summary": "List Connected App Settings",
"operationId": "listConnectedAppSettings",
"parameters": [
{
"in": "header",
"name": "Content-Type",
"schema": {
"type": "string",
"default": "application/json;version=1.0"
},
"required": true
}
],
"responses": {
"200": {
"description": "Successfully return connected application settings, including application roles",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/connectedAppSettings"
}
}
}
}
}
}
}
},
"/connected-apps/asio_platform": {
"get": {
"tags": [
"Connected Apps"
],
"servers": [
{
"url": "https://iambff.itsupport247.net/iambff/v1"
}
],
"description": "Get settings for Asio platform",
"summary": "Get Asio Platform Settings",
"operationId": "getAsioPlatformSettings",
"parameters": [
{
"in": "header",
"name": "Content-Type",
"schema": {
"type": "string",
"default": "application/json;version=1.0"
},
"required": true
}
],
"responses": {
"200": {
"description": "Successfully return Asio connected application settings, including application roles",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/connectedAppSettings"
}
}
}
}
}
}
},
"/users/{user_id}/connected-apps/asio_platform/app-role-mappings": {
"put": {
"description": "Add user to Asio application role",
"summary": "Add User to Asio App Role",
"operationId": "addUserToAsioAppRole",
"tags": [
"User"
],
"parameters": [
{
"in": "header",
"name": "Content-Type",
"schema": {
"type": "string",
"default": "application/json;version=1.0"
},
"required": true
},
{
"name": "user_id",
"in": "path",
"description": "ID of user",
"required": true,
"schema": {
"type": "string"
}
}
],
"servers": [
{
"url": "https://iambff.itsupport247.net/iambff/v1"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/asioRoleRequestBody"
}
}
}
},
"responses": {
"200": {
"description": "User added response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/message"
}
}
}
}
}
}
},
"/users/{user_id}/identity-roles": {
"put": {
"description": "Add user to CW Home identity role",
"summary": "Add User to CW Home Identity Role",
"operationId": "addUserToIdentityRole",
"tags": [
"User"
],
"parameters": [
{
"in": "header",
"name": "Content-Type",
"schema": {
"type": "string",
"default": "application/json;version=1.0"
},
"required": true
},
{
"name": "user_id",
"in": "path",
"description": "ID of user",
"required": true,
"schema": {
"type": "string"
}
}
],
"servers": [
{
"url": "https://iambff.itsupport247.net/iambff/v1"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/identityRoleRequestBody"
}
}
}
},
"responses": {
"200": {
"description": "Successfully updated identity role(s)",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/appRoleResponse"
}
}
}
}
}
}
}
},
"/ExternalMFAProviders": {
"get": {
"description": "List external MFA providers",
"summary": "List External MFA Providers",
"operationId": "getExternalMfaProviders",
"tags": [
"Options"
],
"parameters": [
{
"in": "query",
"name": "enabled",
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "Successful MFA provider response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/externalMfaProvider"
}
}
}
}
}
}
}
},
"/LoginProviders": {
"get": {
"description": "List login providers",
"summary": "List Login providers",
"operationId": "getLoginProviders",
"tags": [
"Options"
],
"responses": {
"200": {
"description": "Successful login provider response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/loginProvider"
}
}
}
}
}
}
}
},
"/roles": {
"get": {
"tags": [
"Identity Role"
],
"description": "List identity roles",
"summary": "List Identity Roles",
"operationId": "listIdentityRoles",
"parameters": [
{
"in": "query",
"name": "includeUsersCount",
"description": "Setting to true will return the number of users assigned to the role. Leaving this blank will default to false which returns 0 for all roles.",
"schema": {
"type": "boolean"
}
},
{
"in": "header",
"name": "Content-Type",
"schema": {
"type": "string",
"default": "application/json;version=1.0"
},
"required": true
}
],
"responses": {
"200": {
"description": "Successful listing of identity roles",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/identityRole"
}
}
}
}
}
}
}
},
"/roles/{role_id}": {
"get": {
"tags": [
"Identity Role"
],
"description": "Get details of identity role by ID",
"summary": "Get Identity Role by ID",
"operationId": "getIdentityRoleById",
"parameters": [
{
"in": "query",
"name": "includeUsersCount",
"description": "Setting to true will return the number of users assigned to the role. Leaving this blank will default to false which returns 0 for all roles.",
"schema": {
"type": "boolean"
}
},
{
"name": "role_id",
"in": "path",
"description": "ID of a role",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "header",
"name": "Content-Type",
"schema": {
"type": "string",
"default": "application/json;version=1.0"
},
"required": true
}
],
"responses": {
"200": {
"description": "Successful identity role response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/identityRole"
}
}
}
}
}
}
},
"/roles/{role_id}/users": {
"get": {
"tags": [
"Identity Role"
],
"description": "Get users assigned to identity role",
"summary": "Get Users Assigned to Identity Role",
"operationId": "getUsersAssignedToIdentityRole",
"parameters": [
{
"name": "role_id",
"in": "path",
"description": "ID of a role",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "header",
"name": "Content-Type",
"schema": {
"type": "string",
"default": "application/json;version=1.0"
},
"required": true
}
],
"responses": {
"200": {
"description": "Successfully listed users assigned to identity role",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/user"
}
}
}
}
}
}
}
},
"/tools/products": {
"get": {
"tags": [
"Tools"
],
"servers": [
{
"url": "https://home.connectwise.com/api"
}
],
"description": "List CW products",
"summary": "List CW Products",
"operationId": "listCWProducts",
"responses": {
"200": {
"description": "Successfully listed products",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/application"
}
}
}
}
}
}
}
},
"/company/companies/teams/accountManager": {
"get": {
"tags": [
"Account Team"
],
"servers": [
{
"url": "https://home.connectwise.com/api"
}
],
"description": "Get Account Manager",
"summary": "Get Account Manager",
"operationId": "getAccountManager",
"responses": {
"200": {
"description": "Successfully fetched account manager",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/accountTeamMember"
}
}
}
},
"404": {
"description": "Failed to fetch account manager",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/message"
}
}
}
}
}
}
},
"/company/companies/teams/successManager": {
"get": {
"tags": [
"Account Team"
],
"servers": [
{
"url": "https://home.connectwise.com/api"
}
],
"description": "Get Client Success Manager",
"summary": "Get Client Success Manager",
"operationId": "getClientSuccessManager",
"responses": {
"200": {
"description": "Successfully fetched client success manager",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/accountTeamMember"
}
}
}
},
"404": {
"description": "Failed to fetch client success manager",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/message"
}
}
}
}
}
}
},
"/company/companies/teams/partnerSalesExecutive": {
"get": {
"tags": [
"Account Team"
],
"servers": [
{
"url": "https://home.connectwise.com/api"
}
],
"description": "Get Partner Sales Executive",
"summary": "Get Partner Sales Executive",
"operationId": "getPartnerSalesExecutive",
"responses": {
"200": {
"description": "Successfully fetched partner sales executive",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/accountTeamMember"
}
}
}
},
"404": {
"description": "Failed to fetch partner sales executive",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/message"
}
}
}
}
}
}
},
"/company/companies/teams/partnerDevelopmentManager": {
"get": {
"tags": [
"Account Team"
],
"servers": [
{
"url": "https://home.connectwise.com/api"
}
],
"description": "Get Partner Development Manager",
"summary": "Get Partner Development Manager",
"operationId": "getPartnerDevelopmentManager",
"responses": {
"200": {
"description": "Successfully fetched partner development manager",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/accountTeamMember"
}
}
}
},
"404": {
"description": "Failed to fetch partner development manager",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/message"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"user": {
"type": "object",
"required": [
"partnerId",
"userName",
"email",
"firstName",
"lastName",
"additionalClaims"
],
"properties": {
"partnerId": {
"type": "string"
},
"id": {
"type": "string"
},
"mfaEnabled": {
"type": "boolean"
},
"emailConfirmed": {
"type": "boolean"
},
"isDisabled": {
"type": "boolean"
},
"isPending": {
"type": "boolean"
},
"isInviteLinkValid": {
"type": "boolean"
},
"status": {
"type": "string"
},
"created": {
"type": "integer",
"format": "unix-timestamp"
},
"updated": {
"type": "number",
"format": "unix-timestamp"
},
"userName": {
"type": "string"
},
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"loginScheme": {
"type": "string"
},
"additionalClaims": {
"type": "object",
"properties": {
"claimType": {
"type": "string",
"enum": [
"contact_email"
]
},
"claimValue": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"contact"
]
}
}
},
"claimValueType": {
"type": "string",
"enum": [
"json"
]
}
}
}
}
},
"loginProvider": {
"type": "object",
"properties": {
"authority": {
"type": "string"
},
"clientId": {
"type": "string"
},
"clientName": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"protocolType": {
"type": "string"
},
"providerId": {
"type": "integer"
},
"responseType": {
"type": "string"
},
"scheme": {
"type": "string"
},
"scopes": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"externalMfaProvider": {
"type": "object"
},
"identityRole": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"roleClaims": {
"type": "array",
"items": {
"type": "string"
}
},
"usersCount": {
"type": "number"
}
}
},
"application": {
"type": "object",
"properties": {
"submitFirstUsageForm": {
"type": "boolean"
},
"productId": {
"type": "string"
},
"name": {
"type": "string"
},
"instanceId": {
"type": "string"
},
"productInfo1": {
"type": "string"
},
"productInfo2": {
"type": "string"
},
"stsClientId": {
"type": "string"
},
"information": {
"type": "string"
},
"inTrial": {
"type": "boolean"
},
"purchased": {
"type": "boolean"
},
"cancelled": {
"type": "boolean"
},
"provisioning": {
"type": "boolean"
},
"trialExpired": {
"type": "boolean"
},
"launchUrl": {
"type": "string"
},
"hasActiveInstance": {
"type": "boolean"
},
"paymentPastDue": {
"type": "string"
},
"billNextDateUnixTimeSeconds": {
"type": "integer"
},
"allowFreeTrial": {
"type": "boolean"
},
"daysLeftInTrial": {
"type": "integer"
},
"controlDualTrial": {
"type": "boolean"
},
"failed": {
"type": "boolean"
},
"allowAddToCart": {
"type": "boolean"
},
"purchaseUrl": {
"type": "string"
},
"allowRequestForQuoteOrDemo": {
"type": "boolean"
},
"activeLicenses": {
"type": "integer"
}
}
},
"message": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
}
},
"asioRoleRequestBody": {
"type": "object",
"properties": {
"connectedAppRoles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"assignedResources": {
"type": "array",
"items": {
"type": "string"
}
},
"roleId": {
"type": "string"
}
}
}
}
}
},
"connectedAppSettings": {
"type": "object",
"properties": {
"version": {
"type": "number"
},
"applicationBaseName": {
"type": "string"
},
"iconName": {
"type": "string"
},
"authorizationEnabled": {
"type": "boolean"
},
"authorization": {
"type": "object",
"properties": {
"roleAssignment": {
"type": "object",
"properties": {
"hasSingleAppRoleConstraint": {
"type": "boolean"
},
"forbidIdentityRoleAssignment": {
"type": "boolean"
},
"applicationRoles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/applicationRole"
}
},
"getAppRolesURL": {
"type": "string"
}
}
},
"corporateStructure": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"levelsUrl": {
"type": "string"
},
"containersPerLevelUrl": {
"type": "string"
},
"companiesUrl": {
"type": "string"
},
"sitesUrl": {
"type": "string"
},
"constraints": {
"type": "object",
"properties": {
"containerAssignment": {
"$ref": "#/components/schemas/constraintAssignment"
},
"companyAssignment": {
"$ref": "#/components/schemas/constraintAssignment"
},
"siteAssignment": {
"$ref": "#/components/schemas/constraintAssignment"
}
}
}
}
}
}
},
"accessRestrictions": {
"type": "object",
"properties": {
"accessType": {
"type": "string"
},
"accessUrl": {
"type": "string"
},
"evaluationExpression": {
"type": "string"
}
}
},
"enabled": {
"type": "boolean"
},
"clientId": {
"type": "string"
},
"clientName": {
"type": "string"
},
"accessManagementUrl": {
"type": "string"
},
"redirectUris": {
"type": "array",
"items": {
"type": "string"
}
},
"usersCount": {
"type": "number"
},
"softwareId": {
"type": "string"
},
"productName": {
"type": "string"
},
"claims": {
"type": "array",
"items": {
"$ref": "#/components/schemas/applicationClaim"
}
},
"isCommon": {
"type": "boolean"
},
"userAccessControlEnabled": {
"type": "boolean"
},
"properties": {
"type": "object",
"properties": {
"access_management_endpoint": {
"type": "string"
},
"user_access_control_enabled": {
"type": "string"
},
"initiate_login_uri": {
"type": "string"
}
}
}
}
},
"applicationClaim": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "string"
}
}
},
"applicationRole": {
"type": "object",
"properties": {
"roleId": {
"type": "string"
},
"displayName": {
"type": "string"
},
"resourceConstraint": {
"type": "object"
},
"roleTypeHints": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"constraintAssignment": {
"type": "object",
"properties": {
"maxSelections": {
"type": "number"
},
"enableSelectAll": {
"type": "boolean"
},
"enableFutureResourceAccessSelection": {
"type": "boolean"
}
}
},
"accountTeamMember": {
"type": "object",
"properties": {
"fullName": {
"type": "string"
},
"defaultEmail": {
"type": "string"
},
"notes": {
"type": "string"
},
"phone": {
"type": "string"
},
"hasSuccessManager": {
"type": "boolean"
}
}
},
"identityRoleRequestBody": {
"type": "object",
"properties": {
"identityRoleIds": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"appRoleResponse": {
"type": "object",
"properties": {
"Status": {
"type": "number"
},
"identityRoleId": {
"type": "string"
},
"message": {
"type": "string"
},
"operation": {
"type": "string"
}
}
}
},
"securitySchemes": {
"oAuth": {
"type": "oauth2",
"flows": {
"authorizationCode": {
"authorizationUrl": "https://auth.connectwise.com/connect/authorize",
"tokenUrl": "https://auth.connectwise.com/connect/token",
"scopes": {
"api.sts.admin": "api.sts.admin",
"api.users": "api.users",
"api.users.import": "api.users.import",
"openid": "openid",
"profile": "profile",
"offline_access": "offline_access"
}
}
}
}
}
},
"tags": [
{
"name": "User"
},
{
"name": "Identity Role"
},
{
"name": "Connected Apps"
},
{
"name": "Options"
},
{
"name": "Tools"
},
{
"name": "Account Team"
}
]
}