### Schema: SpApi.CoreApi.Core.v1.HardwareAssets.Model.HardwareAssetSoftware
Source: https://developer.scalepad.com/openapi/core-api.json
Information about critical software installed on the hardware asset.
```markdown
## Schema: SpApi.CoreApi.Core.v1.HardwareAssets.Model.HardwareAssetSoftware
Information about critical software installed on the hardware asset.
**Type:** object
- **operating_system** (string): Information about the operating system. (example: "Windows 11 Pro")
- **antivirus_info** (object): Information about the antivirus software.
- **status** (string (UNKNOWN|DISABLED|RUNNING)): Current state of the antivirus software. (example: "Active") ("UNKNOWN"|"DISABLED"|"RUNNING")
- **definition_status** (string (OUTOFDATE|UNKNOWN|UPTODATE)): Current state of the antivirus software configuration. (example: "Up to Date") ("OUTOFDATE"|"UNKNOWN"|"UPTODATE")
- **office_suite_info** (object): Information about the office suite software.
- **name** (string): Name of the office suite software. (example: "Microsoft Office 365")
- **version** (string): Version of the office suite software. (example: "16.0.14326.20404")
```
--------------------------------
### Security: x-api-key
Source: https://developer.scalepad.com/openapi/core-api.json
The API key generated from ScalePad application.
Example: 'c4d67eca-3b32ed26-b2412e47-2f634617-7e91a0f4-5c8d2b67-e3a19f0b-46d7c582'
```markdown
## Security: x-api-key
**Description:** The API key generated from ScalePad application.
Example: 'c4d67eca-3b32ed26-b2412e47-2f634617-7e91a0f4-5c8d2b67-e3a19f0b-46d7c582'
**Type:** apiKey
```
--------------------------------
### Schema: SpApi.CoreApi.Core.Model.RecordLineageIntegrationConfiguration
Source: https://developer.scalepad.com/openapi/core-api.json
Details about the integration setup that sourced this record.
```markdown
## Schema: SpApi.CoreApi.Core.Model.RecordLineageIntegrationConfiguration
Details about the integration setup that sourced this record.
**Type:** object
- **id** (string): ID of the integration setup this record was sourced from. (example: "TAxitIYnxnQP")
- **vendor** (object): Details about the integration vendor that sourced this record.
- **id** (string): ID of the integration vendor that sourced this record. (example: "1")
- **brand_name** (string): Name of the integration vendor that sourced this record. Note: A vendor’s name may change if the vendor rebrands. (example: "ConnectWise Manage")
```
--------------------------------
### Schema: SpApi.CoreApi.Core.v1.HardwareAssets.Model.HardwareAssetSoftwareOfficeSuiteInfo
Source: https://developer.scalepad.com/openapi/core-api.json
Information about the office suite software.
```markdown
## Schema: SpApi.CoreApi.Core.v1.HardwareAssets.Model.HardwareAssetSoftwareOfficeSuiteInfo
Information about the office suite software.
**Type:** object
- **name** (string): Name of the office suite software. (example: "Microsoft Office 365")
- **version** (string): Version of the office suite software. (example: "16.0.14326.20404")
```
--------------------------------
### Schema: SpApi.CoreApi.Core.v1.SaasAssets.Model.SaasAssetProduct
Source: https://developer.scalepad.com/openapi/core-api.json
SaaS product information.
```markdown
## Schema: SpApi.CoreApi.Core.v1.SaasAssets.Model.SaasAssetProduct
SaaS product information.
**Type:** object
- **manufacturer** (object): Manufacturer information of the SaaS product.
- **id** (string): Unique identifier of the manufacturer. (example: "MS")
- **name** (string): Name of the manufacturer. (example: "Microsoft")
- **id** (string): Unique identifier of the SaaS product in ScalePad. (example: "1234g43b06d130vcf4b3d523573q3g8l")
- **name** (string): Name of the SaaS product. (example: "Amazing Product")
- **category** (string): Classification of the SaaS product representing its utility. (example: "Productivity")
- **manufacturer_sku** (object): SKU code of the SaaS product provided by the manufacturer.
```
--------------------------------
### GET /core/v1/integrations/vendors
Source: https://developer.scalepad.com/openapi/core-api.json
This endpoint retrieves a complete list of integration vendors which can be used to identify third-party services and platforms that can be integrated with.
```markdown
### Parameters
- **filter[name]** (string, query, optional): Filters records by using a query string on the field `name`.
Supports comparison operators: `eq`, `in`, `cont`.
Query examples:
* `filter[name]=example_value` - to filter for exact match.
* `filter[name]=eq:example_value` - to filter for exact match.
* `filter[name]=in:example_value_1,example_value_2,example_value_3` - to filter when any item in the list matches.
* `filter[name]=cont:word` - to filter using a partial match.
- **filter[vendor_id]** (string, query, optional): Filters records by using a query string on the field `vendor_id`.
Supports comparison operators: `eq`, `in`.
Query examples:
* `filter[vendor_id]=example_value` - to filter for exact match.
* `filter[vendor_id]=eq:example_value` - to filter for exact match.
* `filter[vendor_id]=in:example_value_1,example_value_2,example_value_3` - to filter when any item in the list matches.
- **filter[category]** (string, query, optional): Filters records by using a query string on the field `category`.
*Possible values*: `PSA`, `RMM`, `SaaS`, `Network`, `Documentation`, `Backup`, `Customer Satisfaction`, `Cybersecurity`, `PSA & RMM`, `Backup`.
Supports comparison operators: `eq`, `in`, `cont`.
Query examples:
* `filter[category]=PSA` - to filter for exact match.
* `filter[category]=eq:PSA` - to filter for exact match.
* `filter[category]=in:PSA,RMM,SaaS` - to filter when any item in the list matches.
* `filter[category]=cont:PSA` - to filter using a partial match.
- **filter[data_types_supported]** (string, query, optional): Filters records by using a query string on the field `data_types_supported`.
*Possible values*: `CLIENT`, `CONTRACT`, `CONTACT`, `HARDWARE_ASSET`, `MEMBER`, `OPPORTUNITY`, `SAAS_ASSET`, `SAAS_USER`, `TICKET`.
Supports comparison operators: `eq`, `in`.
Query examples:
* `filter[data_types_supported]=CLIENT` - to filter for exact match.
* `filter[data_types_supported]=eq:CLIENT` - to filter for exact match.
* `filter[data_types_supported]=in:CLIENT,CONTRACT,CONTACT` - to filter when any item in the list matches.
- **page_size** (integer (int32), query, optional): The number of records to be returned in a single page
- **cursor** (string, query, optional): The pointer used to fetch a certain page of records
### Responses
#### 200 - OK
- Array of SpApi.CoreApi.Core.v1.Integrations.Model.Vendors
- Array of SpApi.CoreApi.Core.v1.Integrations.Model.Vendors
- Array of SpApi.CoreApi.Core.v1.Integrations.Model.Vendors
#### 400 - Bad Request
**SpApi.CoreApi.Core.Errors.Model.BadRequestResponse**
- **errors** (array (SpApi.CoreApi.Core.Errors.Model.BadRequestErrorDetail)): A list of error details that include a code, title, and detail for each error that occurred during the request
Array items:
- **code** (string): The unique textual code for the error (example: "BAD_REQUEST")
- **title** (string): A brief human-readable title for the error (example: "The field 'cursor' has an invalid format.")
- **detail** (string): A detailed human-readable description of the error, with suggestions for resolution (example: "The field 'cursor' has an invalid format. Please ensure that the request follows the API specification in the documentation.")
**SpApi.CoreApi.Core.Errors.Model.BadRequestResponse**
**SpApi.CoreApi.Core.Errors.Model.BadRequestResponse**
#### 422 - Unprocessable Content
**SpApi.CoreApi.Core.Errors.Model.UnprocessableContentResponse**
- **errors** (array (SpApi.CoreApi.Core.Errors.Model.UnprocessableContentErrorDetail)): A list of error details that include a code, title, and detail for each error that occurred during the request
Array items:
- **code** (string): The unique textual code for the error (example: "UNPROCESSABLE_CONTENT")
- **title** (string): A brief human-readable title for the error (example: "No primary PSA was found for this account.")
- **detail** (string): A detailed human-readable description of the error, with suggestions for resolution (example: "No primary PSA was found for this account. Please ensure a PSA that supports this feature has been integrated.")
**SpApi.CoreApi.Core.Errors.Model.UnprocessableContentResponse**
**SpApi.CoreApi.Core.Errors.Model.UnprocessableContentResponse**
#### 500 - Internal Server Error
**SpApi.CoreApi.Core.Errors.Model.InternalServerErrorResponse**
- **errors** (array (SpApi.CoreApi.Core.Errors.Model.InternalServerErrorErrorDetail)): A list of error details that include a code, title, and detail for each error that occurred during the request
Array items:
- **code** (string): The unique textual code for the error (example: "INTERNAL_SERVER_ERROR")
- **title** (string): A brief human-readable title for the error (example: "The server was unable to process the request.")
- **detail** (string): A detailed human-readable description of the error, with suggestions for resolution (example: "The server was unable to process the request. Please try again later. If this reoccurs, please contact support for further resolution.")
**SpApi.CoreApi.Core.Errors.Model.InternalServerErrorResponse**
**SpApi.CoreApi.Core.Errors.Model.InternalServerErrorResponse**
### Example Usage
```bash
curl -X GET "https://api.scalepad.com/core/v1/integrations/vendors?filter[name]=string&filter[vendor_id]=string&filter[category]=string&filter[data_types_supported]=string&page_size=0&cursor=string"
```
```
--------------------------------
### Schema: SpApi.CoreApi.Core.v1.HardwareAssets.Model.HardwareAssetContact
Source: https://developer.scalepad.com/openapi/core-api.json
Contact who uses the hardware asset.
```markdown
## Schema: SpApi.CoreApi.Core.v1.HardwareAssets.Model.HardwareAssetContact
Contact who uses the hardware asset.
**Type:** object
- **id** (string): Unique identifier of the contact in ScalePad. (example: "4k9678ty-4rt8-8g3e-a789-wfe5e6789rfd")
```
--------------------------------
### Schema: SpApi.CoreApi.Core.v1.HardwareAssets.Model.HardwareAssetConfigurationCpu
Source: https://developer.scalepad.com/openapi/core-api.json
CPU specifications for the hardware asset.
```markdown
## Schema: SpApi.CoreApi.Core.v1.HardwareAssets.Model.HardwareAssetConfigurationCpu
CPU specifications for the hardware asset.
**Type:** object
- **name** (string): CPU model name. (example: "Intel Core i7-11700")
- **manufacturer_name** (string): CPU manufacturer name in ScalePad. (example: "Intel")
- **manufacturer_id** (string): CPU manufacturer identifier in ScalePad. (example: "INTEL")
```
--------------------------------
### GET /core/v1/integrations/configurations
Source: https://developer.scalepad.com/openapi/core-api.json
This endpoint returns the list of integration configurations associated with the MSP. It indicates which configurations are the primary integrations associated with specific entities.
An integration configuration is a specific instance of an integration.
```markdown
### Responses
#### 200 - OK
**SpApi.CoreApi.Core.v1.Integrations.Configurations.IntegrationConfigurations**
- **data** (array (SpApi.CoreApi.Core.v1.Integrations.Configurations.IntegrationConfigurations_IntegrationConfigurationItem))
Array items:
- **id** (string): Unique identifier of this integration instance in ScalePad. (example: "5Vprq5VpwWGS")
- **vendor** (object)
- **id** (string): Unique identifier of the vendor in ScalePad. (example: "2")
- **brand_name** (string): Human-readable name of the vendor (not unique). Note: A vendor’s name may change if the vendor rebrands. (example: "Kaseya VSA")
- **nickname** (string): Human-readable integration setup name for system identification and operational monitoring. Used by MSP teams to distinguish between multiple instances of the same PSA vendor. (example: "GLOBAL ConnectWise Manage (TEST)")
- **primary** (array (string)): List of datatypes for which this integration is the primary. Items of those datatypes will be created in this integration when create actions are called. The list will be empty if this integration is not the primary for any datatype. (example: "[\"TICKET\",\"OPPORTUNITY\"]") ("CLIENT"|"CONTRACT"|"CONTACT"|"HARDWARE_ASSET"|"MEMBER"|"OPPORTUNITY"|"SAAS_ASSET"|"SAAS_USER"|"TICKET")
**SpApi.CoreApi.Core.v1.Integrations.Configurations.IntegrationConfigurations**
**SpApi.CoreApi.Core.v1.Integrations.Configurations.IntegrationConfigurations**
#### 500 - Internal Server Error
**SpApi.CoreApi.Core.Errors.Model.InternalServerErrorResponse**
- **errors** (array (SpApi.CoreApi.Core.Errors.Model.InternalServerErrorErrorDetail)): A list of error details that include a code, title, and detail for each error that occurred during the request
Array items:
- **code** (string): The unique textual code for the error (example: "INTERNAL_SERVER_ERROR")
- **title** (string): A brief human-readable title for the error (example: "The server was unable to process the request.")
- **detail** (string): A detailed human-readable description of the error, with suggestions for resolution (example: "The server was unable to process the request. Please try again later. If this reoccurs, please contact support for further resolution.")
**SpApi.CoreApi.Core.Errors.Model.InternalServerErrorResponse**
**SpApi.CoreApi.Core.Errors.Model.InternalServerErrorResponse**
### Example Usage
```bash
curl -X GET "https://api.scalepad.com/core/v1/integrations/configurations"
```
```
--------------------------------
### Schema: SpApi.CoreApi.Core.v1.SaasUsers.Model.SaasUserProduct
Source: https://developer.scalepad.com/openapi/core-api.json
SaaS product information.
```markdown
## Schema: SpApi.CoreApi.Core.v1.SaasUsers.Model.SaasUserProduct
SaaS product information.
**Type:** object
- **manufacturer** (object): Manufacturer information of the SaaS product.
- **id** (string): Unique identifier of the manufacturer. (example: "MS")
- **name** (string): Name of the manufacturer. (example: "Microsoft")
- **id** (string): Unique identifier of the SaaS product in ScalePad. (example: "-123456789123456789")
- **name** (string): Name of the SaaS product. (example: "Amazing Product")
- **category** (string): Classification of the SaaS product representing its utility. (example: "Productivity")
- **manufacturer_sku** (object): SKU code of the SaaS product provided by the manufacturer.
```
--------------------------------
### GET /core/v1/contacts/{id}
Source: https://developer.scalepad.com/openapi/core-api.json
This endpoint retrieves a single contact, identified by its unique ID.
A contact is an active individual associated with a client of an MSP, enriched with information such as their role, name and other contact-specific details.
```markdown
### Parameters
- **id** (string, path, required): Identifier of the contact
### Responses
#### 200 - OK
**SpApi.CoreApi.Core.v1.Contacts.Model.Contact**
- **id** (string): Unique identifier of the contact in ScalePad. (example: "1g4123ty-4er6-4g3t-a345-wfe5e5234rfd")
- **client** (object): Client organization that the contact is associated with.
- **id** (string): Unique identifier of the client in ScalePad. (example: "00000ae5-h3r7-6468-er45-wiuynj9c0d23")
- **name** (string): Name of the client organization. (example: "ABC Manufacturing Inc.")
- **title** (string): Professional job title or role of the contact within their client organization. (example: "IT Manager")
- **contact_info** (object): Primary communication details of the contact.
- **email** (string): Email address of the contact. (example: "john.smith@abcmanufacturing.com")
- **phone** (string): Phone number of the contact. (example: "6013789938")
- **name** (object): Name of the contact.
- **first** (string): First name of the contact. (example: "John")
- **middle** (string): Middle name of the contact. (example: "Michael")
- **last** (string): Last name of the contact. (example: "Smith")
- **full** (string): Complete name of the contact. (example: "John Michael Smith")
- **record_lineage** (array (SpApi.CoreApi.Core.Model.RecordLineage))
Array items:
- **source_record_id** (string): ID of this record in the source system. (example: "123")
- **integration_configuration** (object): Details about the integration setup that sourced this record.
- **id** (string): ID of the integration setup this record was sourced from. (example: "TAxitIYnxnQP")
- **vendor** (object): Details about the integration vendor that sourced this record.
- **id** (string): ID of the integration vendor that sourced this record. (example: "1")
- **brand_name** (string): Name of the integration vendor that sourced this record. Note: A vendor’s name may change if the vendor rebrands. (example: "ConnectWise Manage")
- **record_created_at** (string (date-time)): Timestamp of when this record was created (example: "2019-09-30T15:28:17.354Z")
- **record_updated_at** (string (date-time)): Timestamp of when this record was last updated (example: "2019-09-30T15:28:17.354Z")
**SpApi.CoreApi.Core.v1.Contacts.Model.Contact**
**SpApi.CoreApi.Core.v1.Contacts.Model.Contact**
#### 400 - Bad Request
**SpApi.CoreApi.Core.Errors.Model.BadRequestResponse**
- **errors** (array (SpApi.CoreApi.Core.Errors.Model.BadRequestErrorDetail)): A list of error details that include a code, title, and detail for each error that occurred during the request
Array items:
- **code** (string): The unique textual code for the error (example: "BAD_REQUEST")
- **title** (string): A brief human-readable title for the error (example: "The field 'cursor' has an invalid format.")
- **detail** (string): A detailed human-readable description of the error, with suggestions for resolution (example: "The field 'cursor' has an invalid format. Please ensure that the request follows the API specification in the documentation.")
**SpApi.CoreApi.Core.Errors.Model.BadRequestResponse**
**SpApi.CoreApi.Core.Errors.Model.BadRequestResponse**
#### 404 - Not Found
**SpApi.CoreApi.Core.Errors.Model.NotFoundResponse**
- **errors** (array (SpApi.CoreApi.Core.Errors.Model.NotFoundErrorDetail)): A list of error details that include a code, title, and detail for each error that occurred during the request
Array items:
- **code** (string): The unique textual code for the error (example: "NOT_FOUND")
- **title** (string): A brief human-readable title for the error (example: "The requested resource could not be found.")
- **detail** (string): A detailed human-readable description of the error, with suggestions for resolution (example: "The requested resource could not be found. Please check the API documentation to ensure the correct URL and version have been used.")
**SpApi.CoreApi.Core.Errors.Model.NotFoundResponse**
**SpApi.CoreApi.Core.Errors.Model.NotFoundResponse**
#### 500 - Internal Server Error
**SpApi.CoreApi.Core.Errors.Model.InternalServerErrorResponse**
- **errors** (array (SpApi.CoreApi.Core.Errors.Model.InternalServerErrorErrorDetail)): A list of error details that include a code, title, and detail for each error that occurred during the request
Array items:
- **code** (string): The unique textual code for the error (example: "INTERNAL_SERVER_ERROR")
- **title** (string): A brief human-readable title for the error (example: "The server was unable to process the request.")
- **detail** (string): A detailed human-readable description of the error, with suggestions for resolution (example: "The server was unable to process the request. Please try again later. If this reoccurs, please contact support for further resolution.")
**SpApi.CoreApi.Core.Errors.Model.InternalServerErrorResponse**
**SpApi.CoreApi.Core.Errors.Model.InternalServerErrorResponse**
### Example Usage
```bash
curl -X GET "https://api.scalepad.com/core/v1/contacts/{id}"
```
```
--------------------------------
### Schema: SpApi.CoreApi.Core.v1.HardwareAssets.Model.HardwareAssetConfiguration
Source: https://developer.scalepad.com/openapi/core-api.json
Hardware configuration details including CPU, memory, and storage specifications.
```markdown
## Schema: SpApi.CoreApi.Core.v1.HardwareAssets.Model.HardwareAssetConfiguration
Hardware configuration details including CPU, memory, and storage specifications.
**Type:** object
- **cpu** (object): CPU specifications for the hardware asset.
- **name** (string): CPU model name. (example: "Intel Core i7-11700")
- **manufacturer_name** (string): CPU manufacturer name in ScalePad. (example: "Intel")
- **manufacturer_id** (string): CPU manufacturer identifier in ScalePad. (example: "INTEL")
- **ram_bytes** (integer (int64)): Total installed system memory (RAM) on the hardware asset, measured in bytes. (example: "17179869184")
- **disks** (array (SpApi.CoreApi.Core.v1.HardwareAssets.Model.HardwareAssetConfigurationDisks))
Array items:
- **name** (string): Name of the disk. (example: "C:")
- **total_bytes** (integer (int64)): Total storage capacity of the disk, measured in bytes. (example: "4306093056")
- **used_bytes** (integer (int64)): Amount of storage space that is currently in use on the disk, measured in bytes. (example: "645879")
```
--------------------------------
### GET /core/v1/assets/saas-users/{id}
Source: https://developer.scalepad.com/openapi/core-api.json
This endpoint retrieves a single SaaS user, identified by its unique ID.
A SaaS user is an individual at the client organization who has been assigned access to a SaaS license managed by the MSP.
```markdown
### Parameters
- **id** (string, path, required)
### Responses
#### 200 - OK
**SpApi.CoreApi.Core.v1.SaasUsers.Model.SaasUser**
- **id** (string): Unique identifier of the SaaS user in ScalePad. (example: "1g9876ty-4er6-4g3t-a123-wfe5e5234rfd")
- **client** (object): Client organization that the SaaS user is associated with.
- **id** (string): Unique identifier of the client organization in ScalePad. (example: "00000ae5-h3r7-6468-er45-wiuynj9c0d23")
- **name** (string): Name of the client organization. (example: "ABC Manufacturing Inc.")
- **contact** (object): Contact who is assigned to the license for the SaaS asset.
- **id** (string): Unique identifier of the contact in ScalePad. (example: "1g4123ty-4er6-4g3t-a345-wfe5e5234rfd")
- **asset** (object): SaaS asset information associated with the user.
- **id** (string): Unique identifier of the SaaS asset in ScalePad. (example: "12345a0c-4aqa-40fd-aqaw-eq3f03ge1579")
- **status** (string): Source status value representing current lifecycle or availability state of the SaaS license. (example: "Enabled")
- **product** (object): SaaS product information.
- **manufacturer** (object): Manufacturer information of the SaaS product.
- **id** (string): Unique identifier of the SaaS product in ScalePad. (example: "-123456789123456789")
- **name** (string): Name of the SaaS product. (example: "Amazing Product")
- **category** (string): Classification of the SaaS product representing its utility. (example: "Productivity")
- **manufacturer_sku** (object): SKU code of the SaaS product provided by the manufacturer.
- **term** (object): Represents the active subscription or term duration of the SaaS asset.
- **starts_at** (string (date-time)): Date when the SaaS asset became (or will become) active. (example: "2025-01-01T00:00:00.000")
- **ends_at** (string (date-time)): Scheduled end date of the license or subscription term. (example: "2025-12-31T23:59:59.999")
- **activity** (object): Activity information of the SaaS user, if provided by the vendor.
- **last_active_at** (string (date-time)): Most recent time the user was active in the system. (example: "2025-01-15T14:30:25.123")
- **is_active** (boolean): Flag indicating whether the user is considered active in the system. (example: "true")
- **authentication** (object): Multi-factor authentication information for user.
- **is_mfa_enabled** (boolean): Flag indicating whether multi-factor authentication is enabled for the user. (example: "true")
- **mfa_methods** (array (string)): List of multi-factor authentication methods enabled for the user. (example: "[\"SMS\", \"Authenticator App\"]")
- **default_mfa_method** (string): Default multi-factor authentication method for user. (example: "Authenticator App")
- **is_admin** (boolean): Flag indicating whether the user has admin privileges. (example: "false")
- **record_lineage** (array (SpApi.CoreApi.Core.Model.RecordLineage))
Array items:
- **source_record_id** (string): ID of this record in the source system. (example: "123")
- **integration_configuration** (object): Details about the integration setup that sourced this record.
- **id** (string): ID of the integration setup this record was sourced from. (example: "TAxitIYnxnQP")
- **vendor** (object): Details about the integration vendor that sourced this record.
- **id** (string): ID of the integration vendor that sourced this record. (example: "1")
- **brand_name** (string): Name of the integration vendor that sourced this record. Note: A vendor’s name may change if the vendor rebrands. (example: "ConnectWise Manage")
- **record_created_at** (string (date-time)): Timestamp of when this record was created (example: "2019-09-30T15:28:17.354Z")
- **record_updated_at** (string (date-time)): Timestamp of when this record was last updated (example: "2019-09-30T15:28:17.354Z")
**SpApi.CoreApi.Core.v1.SaasUsers.Model.SaasUser**
**SpApi.CoreApi.Core.v1.SaasUsers.Model.SaasUser**
#### 400 - Bad Request
**SpApi.CoreApi.Core.Errors.Model.BadRequestResponse**
- **errors** (array (SpApi.CoreApi.Core.Errors.Model.BadRequestErrorDetail)): A list of error details that include a code, title, and detail for each error that occurred during the request
Array items:
- **code** (string): The unique textual code for the error (example: "BAD_REQUEST")
- **title** (string): A brief human-readable title for the error (example: "The field 'cursor' has an invalid format.")
- **detail** (string): A detailed human-readable description of the error, with suggestions for resolution (example: "The field 'cursor' has an invalid format. Please ensure that the request follows the API specification in the documentation.")
**SpApi.CoreApi.Core.Errors.Model.BadRequestResponse**
**SpApi.CoreApi.Core.Errors.Model.BadRequestResponse**
#### 404 - Not Found
**SpApi.CoreApi.Core.Errors.Model.NotFoundResponse**
- **errors** (array (SpApi.CoreApi.Core.Errors.Model.NotFoundErrorDetail)): A list of error details that include a code, title, and detail for each error that occurred during the request
Array items:
- **code** (string): The unique textual code for the error (example: "NOT_FOUND")
- **title** (string): A brief human-readable title for the error (example: "The requested resource could not be found.")
- **detail** (string): A detailed human-readable description of the error, with suggestions for resolution (example: "The requested resource could not be found. Please check the API documentation to ensure the correct URL and version have been used.")
**SpApi.CoreApi.Core.Errors.Model.NotFoundResponse**
**SpApi.CoreApi.Core.Errors.Model.NotFoundResponse**
#### 500 - Internal Server Error
**SpApi.CoreApi.Core.Errors.Model.InternalServerErrorResponse**
- **errors** (array (SpApi.CoreApi.Core.Errors.Model.InternalServerErrorErrorDetail)): A list of error details that include a code, title, and detail for each error that occurred during the request
Array items:
- **code** (string): The unique textual code for the error (example: "INTERNAL_SERVER_ERROR")
- **title** (string): A brief human-readable title for the error (example: "The server was unable to process the request.")
- **detail** (string): A detailed human-readable description of the error, with suggestions for resolution (example: "The server was unable to process the request. Please try again later. If this reoccurs, please contact support for further resolution.")
**SpApi.CoreApi.Core.Errors.Model.InternalServerErrorResponse**
**SpApi.CoreApi.Core.Errors.Model.InternalServerErrorResponse**
### Example Usage
```bash
curl -X GET "https://api.scalepad.com/core/v1/assets/saas-users/{id}"
```
```
--------------------------------
### GET /core/v1/service/contracts/{id}
Source: https://developer.scalepad.com/openapi/core-api.json
This endpoint retrieves a single contract, identified by its unique ID.
A contract is a formal agreement between the MSP and its active client, enriched with information such as the associated client, contact, and other agreement-specific details.
```markdown
### Parameters
- **id** (string, path, required): Identifier of the contract
### Responses
#### 200 - OK
**SpApi.CoreApi.Core.v1.Contracts.Model.Contract**
- **id** (string): Unique identifier of the contract in ScalePad. (example: "1g4123ty-4er6-4g3t-a345-wfe5e5234rfd")
- **name** (string): Name of the contract. (example: "Managed IT Services Agreement")
- **client** (object): Client organization that is receiving the services and/or products from the MSP under this contract.
- **id** (string): Unique identifier of the client organization in ScalePad. (example: "00000ae5-h3r7-6468-er45-wiuynj9c0d23")
- **name** (string): Name of the client organization. (example: "ABC Manufacturing Inc.")
- **contact** (object): Contact who is responsible for the contract.
- **id** (string): Unique identifier of the contact in ScalePad. (example: "1g4123ty-4er6-4g3t-a345-wfe5e5234rfd")
- **is_recurring** (boolean): Flag indicating whether the contract represents recurring services. (example: "false")
- **type** (string (MANAGED_SERVICES|BLOCK|3RD_PARTY|UNASSIGNED)): ScalePad standardized type value, mapped from the source system's native contract type, representing the classification of the contract. (example: "UNASSIGNED") ("MANAGED_SERVICES"|"BLOCK"|"3RD_PARTY"|"UNASSIGNED")
- **term** (object): Defines active period of the contract including duration, renewal settings, and billing frequency.
- **starts_at** (string (date-time)): The date when the contract goes into effect. (example: "2025-01-01")
- **ends_at** (string (date-time)): The date when the contract is set to expire. (example: "2099-12-31")
- **is_auto_renew** (boolean): Flag indicating whether the contract automatically renews upon expiration. (example: "true")
- **billing_period** (string (NOT_BILLED|ONE_TIME|ANNUAL|SEMI_ANNUAL|QUARTERLY|BI_MONTHLY|MONTHLY|BI_WEEKLY|WEEKLY)): Billing frequency for the contract. (example: "MONTHLY") ("NOT_BILLED"|"ONE_TIME"|"ANNUAL"|"SEMI_ANNUAL"|"QUARTERLY"|"BI_MONTHLY"|"MONTHLY"|"BI_WEEKLY"|"WEEKLY")
- **source_type** (string): Original contract type value from the source system before ScalePad standardization. (example: "MSA - RECURRING")
- **is_addendum** (boolean): Flag indicating whether this contract is an extension or modification to an existing contract. This is currently only supported by ConnectWise (Bill Amount). All other source systems default to null. (example: "false")
- **parent_contract** (object): Reference to the primary or original contract to which the current contract is related.
- **status** (string (SUSPENDED|EXPIRED|ACTIVE|DRAFT|SENT|SIGNED|NOT_EXECUTED|CANCELLED)): ScalePad standardized value indicating the current state of the contract within its lifecycle. (example: "EXPIRED") ("SUSPENDED"|"EXPIRED"|"ACTIVE"|"DRAFT"|"SENT"|"SIGNED"|"NOT_EXECUTED"|"CANCELLED")
- **total_price** (object): Total price for the contract. This is currently only supported by ConnectWise (Bill Amount). All other source systems default to null.
- **amount** (number (double)): Total price for the contract. This is currently only supported by ConnectWise (Bill Amount). All other source systems default to null. (example: "150.00")
- **iso_currency_code** (string): Three letter ISO code for currency. (example: "USD")
- **total_cost** (object): Total cost for the contract. This is currently only supported by ConnectWise (Bill Amount). All other source systems default to null.
- **is_billable** (boolean): Flag indicating whether the pricing item is billable. Currently, only ConnectWise supports this flag. All other source systems return true if any of the contract pricing items is billable. (example: "true")
- **pricing_item_total_price** (object): Sum of the total price for all active pricing items in the contract.
- **pricing_item_total_cost** (object): Sum of the total cost for all active pricing items in the contract.
- **contract_pricings** (array (SpApi.CoreApi.Core.v1.Contracts.Model.ContractContractPricings))
Array items:
- **id** (string): Unique identifier of the contract pricing item. (example: "1243")
- **status** (string (ACTIVE|INACTIVE|CANCELLED|EXPIRED)): ScalePad standardized value indicating the current state of the contract pricing item. (example: "ACTIVE") ("ACTIVE"|"INACTIVE"|"CANCELLED"|"EXPIRED")
- **is_billable** (boolean): Flag indicating whether the pricing item is billable. Currently, only ConnectWise supports this flag. All other source systems default to true. (example: "true")
- **term** (object): Billing period for this specific pricing item, defining when the item is active and billable.
- **starts_at** (string (date-time)): Start date for this pricing item's billing period. (example: "2024-05-01")
- **ends_at** (string (date-time)): End date for this pricing item's billing period. (example: "2024-12-31")
- **is_rollover_allowed** (boolean): Flag indicating whether unused quantities or amounts can roll over to the next billing period. (example: "false")
- **description** (string): Detailed description of the service or product being billed. (example: "Monthly managed services support")
- **recurrent_charge_frequency** (string (NOT_CHARGED|ONE_TIME|ANNUAL|SEMI_ANNUAL|QUARTERLY|BI_MONTHLY|MONTHLY|BI_WEEKLY)): Billing frequency for this pricing item. (example: "MONTHLY") ("NOT_CHARGED"|"ONE_TIME"|"ANNUAL"|"SEMI_ANNUAL"|"QUARTERLY"|"BI_MONTHLY"|"MONTHLY"|"BI_WEEKLY")
- **unit_price** (object): Price per unit for this service or product item.
- **unit_cost** (object): Cost incurred by the MSP per unit of the service or product item.
- **quantity** (number (double)): Number of units sold or used. (example: "10.9")
- **total_price** (object): Total price for this pricing item.
- **total_cost** (object): Total cost incurred by the MSP for this pricing item.
- **pricing_type** (string (UNKNOWN|UNIT|ALLOCATION)): Type of pricing model for this item. (example: "UNIT") ("UNKNOWN"|"UNIT"|"ALLOCATION")
- **unit_type** (string (TICKET|HOURS|PRODUCT|RECURRING)): Pricing item type that is being billed, defining what each quantity represents. (example: "PRODUCT") ("TICKET"|"HOURS"|"PRODUCT"|"RECURRING")
- **items** (array (SpApi.CoreApi.Core.v1.Contracts.Model.ContractContractPricingsItems))
Array items:
- **product** (object): Product details for items within this pricing structure.
- **record_lineage** (array (SpApi.CoreApi.Core.Model.RecordLineage))
Array items:
- **source_record_id** (string): ID of this record in the source system. (example: "123")
- **integration_configuration** (object): Details about the integration setup that sourced this record.
- **id** (string): ID of the integration setup this record was sourced from. (example: "TAxitIYnxnQP")
- **vendor** (object): Details about the integration vendor that sourced this record.
- **id** (string): ID of the integration vendor that sourced this record. (example: "1")
- **brand_name** (string): Name of the integration vendor that sourced this record. Note: A vendor’s name may change if the vendor rebrands. (example: "ConnectWise Manage")
- **record_created_at** (string (date-time)): Timestamp of when this record was created (example: "2019-09-30T15:28:17.354Z")
- **record_updated_at** (string (date-time)): Timestamp of when this record was last updated (example: "2019-09-30T15:28:17.354Z")
**SpApi.CoreApi.Core.v1.Contracts.Model.Contract**
**SpApi.CoreApi.Core.v1.Contracts.Model.Contract**
#### 400 - Bad Request
**SpApi.CoreApi.Core.Errors.Model.BadRequestResponse**
- **errors** (array (SpApi.CoreApi.Core.Errors.Model.BadRequestErrorDetail)): A list of error details that include a code, title, and detail for each error that occurred during the request
Array items:
- **code** (string): The unique textual code for the error (example: "BAD_REQUEST")
- **title** (string): A brief human-readable title for the error (example: "The field 'cursor' has an invalid format.")
- **detail** (string): A detailed human-readable description of the error, with suggestions for resolution (example: "The field 'cursor' has an invalid format. Please ensure that the request follows the API specification in the documentation.")
**SpApi.CoreApi.Core.Errors.Model.BadRequestResponse**
**SpApi.CoreApi.Core.Errors.Model.BadRequestResponse**
#### 404 - Not Found
**SpApi.CoreApi.Core.Errors.Model.NotFoundResponse**
- **errors** (array (SpApi.CoreApi.Core.Errors.Model.NotFoundErrorDetail)): A list of error details that include a code, title, and detail for each error that occurred during the request
Array items:
- **code** (string): The unique textual code for the error (example: "NOT_FOUND")
- **title** (string): A brief human-readable title for the error (example: "The requested resource could not be found.")
- **detail** (string): A detailed human-readable description of the error, with suggestions for resolution (example: "The requested resource could not be found. Please check the API documentation to ensure the correct URL and version have been used.")
**SpApi.CoreApi.Core.Errors.Model.NotFoundResponse**
**SpApi.CoreApi.Core.Errors.Model.NotFoundResponse**
#### 500 - Internal Server Error
**SpApi.CoreApi.Core.Errors.Model.InternalServerErrorResponse**
- **errors** (array (SpApi.CoreApi.Core.Errors.Model.InternalServerErrorErrorDetail)): A list of error details that include a code, title, and detail for each error that occurred during the request
Array items:
- **code** (string): The unique textual code for the error (example: "INTERNAL_SERVER_ERROR")
- **title** (string): A brief human-readable title for the error (example: "The server was unable to process the request.")
- **detail** (string): A detailed human-readable description of the error, with suggestions for resolution (example: "The server was unable to process the request. Please try again later. If this reoccurs, please contact support for further resolution.")
**SpApi.CoreApi.Core.Errors.Model.InternalServerErrorResponse**
**SpApi.CoreApi.Core.Errors.Model.InternalServerErrorResponse**
### Example Usage
```bash
curl -X GET "https://api.scalepad.com/core/v1/service/contracts/{id}"
```
```
--------------------------------
### Schema: SpApi.CoreApi.Core.v1.HardwareAssets.Model.HardwareAssetManufacturer
Source: https://developer.scalepad.com/openapi/core-api.json
ScalePad standardized manufacturer details of the hardware asset.
```markdown
## Schema: SpApi.CoreApi.Core.v1.HardwareAssets.Model.HardwareAssetManufacturer
ScalePad standardized manufacturer details of the hardware asset.
**Type:** object
- **id** (string): Unique identifier of the manufacturer in ScalePad. (example: "HPINC")
- **name** (string): Name of the manufacturer in ScalePad. (example: "HP Inc.")
```