# PSA API
**Base URL**: https://dev-cloud.acronis.com/api/advanced-automation/v1
## Endpoints
### PUT /Product
Creates a product.
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
For OAuth2 authorization method, one of the following scopes is required by the endpoint:
* `urn:acronis.com::advanced_automation::advanced_automation_admin`
* `urn:acronis.com::advanced_automation::advanced_automation_finance`
* `urn:acronis.com::advanced_automation::advanced_automation_engineer`
* `urn:acronis.com::advanced_automation::advanced_automation_finance_manager`
* `urn:acronis.com::advanced_automation::advanced_automation_sales`
#### Request parameters
##### Request body
**Media type**: application/json
**Schema definition**:
| Name | Description |
|------|-------------|
| `Active` | Defines whether the product is available for sales (true) or not (false).
**Type**: Boolean
**Default**: false |
| `Taxable` | Defines whether the product is a subject for taxes (true) or not (false).
**Type**: Boolean
**Default**: false |
| `Name` | Defines the product name.
**Type**: String
**Max length**: 255 |
| `Description` | Defines a description, used in invoice lines for the product.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `Price` | Defines an end user price for a single product item.
**Type**: Number
**Default**: 0 |
| `Cost` | Defines a cost of a single product item for the partner.
**Type**: Number
**Default**: 0 |
| `ViewInContract` | Defines whether product can be used in contracts for the recurring billing (true) or not (false).
**Type**: Boolean
**Default**: false |
| `ProductForActivityBasedTicketBilling` | Defines whether product can be used as an hourly rate for the ticket time billing (true) or not (false).
**Type**: Boolean
**Default**: false |
| `Ledger` | Defines a GUID number associated with the product. Can be empty.
**Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `CreationDate` | Defines the product creation date and time.
**Type**: Union
**May be any of**:
1. RFC3339-like date and time without timezone.
**Type**: String
**Pattern**: `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?$`
2. **Type**: null |
| `LastChangeDate` | Defines the product's date and time of the latest change.
**Type**: Union
**May be any of**:
1. RFC3339-like date and time without timezone.
**Type**: String
**Pattern**: `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?$`
2. **Type**: null |
| `VAR` | Defines whether the product is resold (true) or not (false). Used for analytic purposes (VAR = value-added reseller).
An example of a VAR product can be a 3rd party vendor license, e.g. Acronis. Project hours or Support hours are typically not VAR products.
**Type**: Boolean
**Default**: false |
| `TicketProduct` | Defines whether product can be sold in service desk tickets as a part of support activity, e.g., Security expert hours for consultancy.
**Type**: Boolean
**Default**: false |
| `PriceAdjustable` | Defines whether the ticket product price can be manually adjusted by engineers from a ticket (true) or not (false).
**Type**: Boolean
**Default**: false |
| `ProjectProduct` | Defines whether product can be used in projects for the project billing (true) or not (false).
**Type**: Boolean
**Default**: false |
| `ProjectProductPriceAdjustable` | Defines whether the project product price can be manually adjusted by engineers from a project (true) or not (false).
**Type**: Boolean |
| `ExternalIdNumber` | Defines the product ID in 3rd party systems for a product mapping, e.g. in 3rd party accounting platform.
**Type**: String
**Max length**: 100 |
| `SKU` | Defines a SKU code for the project.
**Type**: String
**Max length**: 20 |
**Example**:
```json
{
"Name": "Test-Product-API-Documentation",
"Description": "Test-Product-API-Documentation-Description",
"Taxable": true,
"Price": 100,
"ViewInContract": false,
"ProjectProduct": false,
"ProductForActivityBasedTicketBilling": false,
"Cost": 20,
"Active": true
}
```
#### Responses
| Code | Description |
|------|-------------|
| `200` | The request was successful. |
### GET /Product
Fetches information about the products either by GUID or by filtering parameters.
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
For OAuth2 authorization method, one of the following scopes is required by the endpoint:
* `urn:acronis.com::advanced_automation::advanced_automation_admin`
* `urn:acronis.com::advanced_automation::advanced_automation_finance`
* `urn:acronis.com::advanced_automation::advanced_automation_engineer`
* `urn:acronis.com::advanced_automation::advanced_automation_finance_manager`
* `urn:acronis.com::advanced_automation::advanced_automation_sales`
#### Request parameters
#### Responses
| Code | Description |
|------|-------------|
| `200` | The request was successful. |
### PUT /Ledger
Creates a ledger.
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Request body
**Media type**: application/json
**Schema definition**:
| Name | Description |
|------|-------------|
| `Active` | Ledger's status.
**Type**: Boolean
**Default**: false |
| `AllowInactive` | **Type**: Boolean
**Default**: false |
| `Description` | Ledger's description.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `Externalid` | External ID for ledger mapping.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `Number` | Ledger's number.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
**Example**:
```json
{
"Active": true,
"Description": "Api documentation ledger",
"Number": "API-Doc-LG"
}
```
#### Responses
| Code | Description |
|------|-------------|
| `200` | The request was successful. |
### GET /Ledger
Fetches information about the ledgers either by GUID or by filtering parameters.
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
#### Responses
| Code | Description |
|------|-------------|
| `200` | The request was successful. |
### GET /SalesItems
Fetches a list of Sales items.
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Request body
**Media type**: application/json
**Schema definition**:
| Name | Description |
|------|-------------|
| `FullTextSearchInQuotes` | **Type**: String |
| `FullTextSearch` | **Type**: String |
| `Customer` | **Type**: String |
| `InvoiceDate` | **Type**: Union
**May be any of**:
1. RFC3339-like date and time without timezone.
**Type**: String
**Pattern**: `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?$`
2. **Type**: null |
| `ProductName` | **Type**: String |
| `SendByEmail` | **Type**: Union
**May be any of**:
1. **Type**: Boolean
2. **Type**: null |
| `HasBeenBilled` | **Type**: Union
**May be any of**:
1. **Type**: Boolean
2. **Type**: null |
| `SortColumn` | **Type**: String
**Allowed values**:
- `InvoiceDate`
- `Total`
- `Age`
- `Status`
- `Customer` |
| `SortDirection` | Invoice sorting direction ascending or descending
**Type**: String
**Allowed values**:
- `Asc`
- `Desc`
**Default**: Asc |
| `InsertedSaleId` | **Type**: String |
**Example**:
```json
{
"FullTextSearchInQuotes": "",
"FullTextSearch": "",
"Customer": "",
"InvoiceDate": "2035-60-22T23:44:68",
"ProductName": "",
"SendByEmail": true,
"HasBeenBilled": true,
"SortColumn": "InvoiceDate",
"SortDirection": "Asc",
"InsertedSaleId": ""
}
```
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### PUT /SalesItems
Creates a Sales Item.
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Request body
**Media type**: application/json
**Schema definition**:
| Name | Description |
|------|-------------|
| `BillingEntity` | Defines a partner's billing entity used for invoicing.
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
**Default**: 00000000-0000-0000-0000-000000000000 |
| `BuildingName` | Defines customer's address information to be used on the invoice: building name.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `City` | Defines customer's address information to be used on the invoice: city.
**Type**: String |
| `Customer` | Defines a customer tenant who received products or services.
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` |
| `EmailAddress` | Defines a customer's email address.
**Type**: String |
| `HouseNo` | Defines customer's address information to be used on the invoice: street number.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `HouseNoAdd` | Defines customer's address information to be used on the invoice: building number.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `SalesItemProducts` | List of SalesItemProducts
**Type**: Array of Object
**Array type description:**
**Type**: Object |
| `Address` | **Type**: Object |
| `SendByEmail` | Defines whether the resulting invoice's delivery method will be "By email" (1) or "Mail" (0).
**Type**: Boolean
**Default**: false |
| `StateCountry` | Defines customer's address information to be used on the invoice: state.
**Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `Street` | Defines customer's address information to be used on the invoice: street.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `Ticket` | Defines a link to the relevant service desk ticket for a ticket-time billing.
**Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `Zipcode` | Defines customer's address information to be used on the invoice: ZIP or postal code.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
**Example**:
```json
{
"SelectedAddress": {},
"HouseNo": "1",
"Country": "d46c54bd-1704-4a55-bb76-fc03073669a0",
"Address": {
"HouseNo": "",
"Country": "",
"StateCountry": "",
"Zipcode": "",
"Street": "",
"City": "",
"HouseNoAdd": ""
},
"CustomerName": "=CUstomer Sync=",
"SalesItemProducts": [
{
"Quantity": 1,
"Discount": 5,
"Description": null,
"Price": 10,
"Product": "deffa51b-207c-4e73-972d-0343736bb9f4",
"ProductName": "Test Product",
"IsItemNote": false
},
{
"Quantity": 0,
"Discount": 0,
"Description": "Some Line item note",
"Price": 0,
"Product": "deffa51b-207c-4e73-972d-0343736bb9f4",
"IsItemNote": true
}
],
"IsSalesOrContract": true,
"Incasso": false,
"StateCountry": "b4c87080-7c8c-45e0-8867-a714ffc79b7d",
"Zipcode": "1",
"Street": "1",
"Customer": "9e145169-059d-422d-80eb-07356e9611a8",
"City": "1",
"StartDate": "2024-06-28",
"HouseNoAdd": null,
"BillingEntity": "d84f5018-c38f-4e3b-af36-0849119b41af",
"SendByEmail": false,
"CustomerAddresses": [],
"EmailAddress": "customer.sync@gmail.com",
"BuildingName": null
}
```
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### DELETE /SalesItems
Deletes a Sales Item.
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Request body
**Media type**: application/json
**Schema definition**:
| Name | Description |
|------|-------------|
| `customerId` | Defines a Customer ID for the sales item
**Type**: String |
| `id` | Defines a sales Item ID for deletion
**Type**: String |
**Example**:
```json
{
"id": "00000000-0000-0000-0000-000000000000",
"customerId": "00000000-0000-0000-0000-000000000000"
}
```
#### Responses
| Code | Description |
|------|-------------|
| `200` | The request was successful. |
### PUT /Contracts
Creates or updates a Contract
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Request body
**Media type**: application/json
**Schema definition**:
| Name | Description |
|------|-------------|
| `BillInAdvance` | Defines a billing method for the contract.
**Type**: Boolean
**Default**: false |
| `BillingEntity` | Defines a billing entity for the contract billing.
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
**Default**: 00000000-0000-0000-0000-000000000000 |
| `BlockHours` | Defines whether support block hours are included (1) into the contract, or not (0).
**Type**: Boolean
**Default**: false |
| `BlockHoursNumber` | Defines a number support hours in case block hours are included into the contract.
**Type**: Union
**May be any of**:
1. **Type**: Integer
2. **Type**: null |
| `BuildingName` | Defines customer's address information to be used on the invoice: building name.
**Type**: String |
| `City` | Defines customer's address information to be used on the invoice: city.
**Type**: String |
| `ContactEmail` | Contact email for the contract.
**Type**: String |
| `ContractParts` | Contract's parts - list of contract products.
**Type**: Array of Object
**Array type description:**
**Type**: Object |
| `Customer` | Customer ID.
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
**Default**: 00000000-0000-0000-0000-000000000000 |
| `EndDate` | Contract's end date. Need to describe how to proceed with "Forever" end date. We have this check-box in UI.
**Type**: DateTime
**Default**: 0001-01-01T00:00:00Z |
| `HouseNo` | Defines customer's address information to be used on the invoice: street number.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `HouseNoAdd` | Defines customer's address information to be used on the invoice: building number.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `KeepRemainingHours` | Defines a retainer option, remaining (unused) hours are kept for the next billing period (1), or dropped (0).
**Type**: Boolean
**Default**: false |
| `Name` | Contract name.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `PaymentIntervalInMonths` | Defines an invoice interval for the contract.
**Type**: Integer
**Default**: 0 |
| `ProRated` | Defines whether proration for the contract billing is enabled (1), or not (0).
**Type**: Boolean
**Default**: false |
| `ReferenceNumber` | Contract's reference number.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `RenewalThreshold` | Defines a threshold for automatic block renewal.
**Type**: Union
**May be any of**:
1. **Type**: Integer
2. **Type**: null |
| `Retainer` | Defines whether the contract is a retainer and block hours are billed every month / quarter / half year / year (1), or not (0).
**Type**: Boolean
**Default**: false |
| `SendInvoiceByEmail` | Defines a delivery method for generated invoices.
**Type**: Boolean
**Default**: false |
| `StartDate` | Contract's start date.
**Type**: DateTime
**Default**: 0001-01-01T00:00:00Z |
| `StateCountry` | Defines customer's address information to be used on the invoice: state.
**Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `Street` | Defines customer's address information to be used on the invoice: street.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `Zipcode` | Defines customer's address information to be used on the invoice: ZIP or postal code.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
**Example**:
```json
{
"Name": "ContractName",
"DefaultSLA": "5784e627-29db-4ba1-8437-5862027bcf1a",
"HouseNo": "1",
"Country": "d46c54bd-1704-4a55-bb76-fc03073669a0",
"CustomerName": "=CUstomer Sync=",
"PaymentIntervalInMonths": "1",
"BillInAdvance": "true",
"StartDateTmp": "2024-07-02",
"IsSalesOrContract": true,
"ContactEmail": "customer.sync@gmail.com",
"Incasso": "false",
"StateCountry": "b4c87080-7c8c-45e0-8867-a714ffc79b7d",
"Zipcode": "1",
"EndDateTmp": "2050-01-01",
"Street": "1",
"Customer": "9e145169-059d-422d-80eb-07356e9611a8",
"City": "1",
"StartDate": "2024-07-02T06:07:43.603Z",
"HouseNoAdd": null,
"BillingEntity": "f5124299-aaee-4c8f-b80a-9b28647c5353",
"SendInvoiceByEmail": false,
"EndDate": "2050-01-01",
"ContractParts": [],
"BuildingName": null
}
```
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### GET /Contracts
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Query parameters
| Name | Description |
|------|-------------|
| `id` | (Required) The customer ID.
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` |
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### PUT /ContractPart
Creates or updates a contract part.
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Request body
**Media type**: application/json
**Schema definition**:
| Name | Description |
|------|-------------|
| `ActualQuantity` | Defines an actual product quantity in use.
**Type**: Number
**Default**: 0 |
| `AutomaticUpdate` | Defines whether actual quantity will be automatically synchronised from the connected usage integration.
**Type**: Boolean
**Default**: false |
| `Description` | Defines a contract part description that will be used for the invoice line.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `Discount` | Defines a discount percent for billing.
**Type**: Number
**Default**: 0 |
| `DiscountReason` | Defines a discount reason.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `EndDate` | Defines a contract part's start date.
**Type**: DateTime
**Default**: 0001-01-01T00:00:00Z |
| `MinBillableQuantity` | Defines a minimum product quantity that will be used for billing.
**Type**: Number
**Default**: 0 |
| `Price` | Defines a product price for a single item for billing.
**Type**: Number
**Default**: 0 |
| `Product` | Defines a product used for billing.
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
**Default**: 00000000-0000-0000-0000-000000000000 |
| `ServiceLevelAgreement` | Defines a SLA that will be used by default in service desk tickets related to the contract part.
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
**Default**: 00000000-0000-0000-0000-000000000000 |
| `ShowMachinesOnInvoice` | In case an actual quantity is synchronised from the number of active devices, defines whether device names will be added to the invoice line.
**Type**: Boolean
**Default**: false |
| `ShowUsersOnInvoice` | In case an actual quantity is synchronised from the number of active users, defines whether user names will be added to the invoice line.
**Type**: Boolean
**Default**: false |
| `StartDate` | Defines a contract part's end date. Need to describe how to proceed with "Forever" end date. We have this check-box in UI.
**Type**: DateTime
**Default**: 0001-01-01T00:00:00Z |
| `TrialPeriod` | Defines whether the contract part will have a trial period. Need to describe how to use it and not use it.
**Type**: Integer
**Default**: 0 |
**Example**:
```json
{
"ActualQuantity": 0,
"AutomaticUpdate": false,
"Description": "",
"Discount": 0,
"DiscountReason": "",
"EndDate": "0001-01-01T00:00:00Z",
"MinBillableQuantity": 0,
"Price": 0,
"Product": "00000000-0000-0000-0000-000000000000",
"ServiceLevelAgreement": "00000000-0000-0000-0000-000000000000",
"ShowMachinesOnInvoice": false,
"ShowUsersOnInvoice": false,
"StartDate": "0001-01-01T00:00:00Z",
"TrialPeriod": 0
}
```
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### GET /ContractPart
Fetches a contract part by Contract ID.
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Query parameters
| Name | Description |
|------|-------------|
| `contract` | (Required) Contract ID
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` |
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### DELETE /ContractPart
Deletes a Contract Part by ID
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Query parameters
| Name | Description |
|------|-------------|
| `id` | (Required) Contract Part ID
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` |
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### PUT /Call
Creates a ticket.
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Request body
**Media type**: application/json
**Schema definition**:
| Name | Description |
|------|-------------|
| `APIConnection` | **Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `BillTheCustomer` | Defines whether ticket time should be marked as billable (1) or not billable (0).
**Type**: Boolean
**Default**: false |
| `BusinessUnit` | **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
**Default**: 00000000-0000-0000-0000-000000000000 |
| `Category` | Defines a category ID for a ticket.
**Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `Client` | Defines a customer ID for a ticket.
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
**Default**: 00000000-0000-0000-0000-000000000000 |
| `ContractPart` | **Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `ElapsedSeconds` | **Type**: Integer
**Default**: 0 |
| `ExternalReferenceNumber` | **Type**: String |
| `ExternalStatus` | **Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `ExternalTicketType` | **Type**: Union
**May be any of**:
1. **Type**: Integer
2. **Type**: null |
| `ExternalType` | **Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `ExternalUpdateId` | **Type**: Union
**May be any of**:
1. **Type**: Integer
2. **Type**: null |
| `Files` | Defines attachments for a ticket.
**Type**: Array of Object
**Array type description:**
**Type**: Object |
| `Followers` | **Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `InternalActions` | Optional internal information for a ticket: actions.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `InternalNotes` | Optional internal information for a ticket: notes.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `IsIctService` | Defines a type of work for a ticket: ICT service (1) or managed service (0).
**Type**: Boolean
**Default**: false |
| `Manager` | Defines a user's manager for a ticket.
**Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `MessageToCustomer` | **Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `NextContactDate` | Defines a next contact date information for a ticket.
**Type**: Union
**May be any of**:
1. **Type**: Date
2. **Type**: null |
| `PhoneNumber` | Defines contacts information for a customer's user: phone number.
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `Planned` | **Type**: Union
**Default**: false
**May be any of**:
1. **Type**: Boolean
2. **Type**: null |
| `PreviousEmailId` | **Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `PreviousSupportUser` | **Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `Priority` | Defines a priority ID for a ticket.
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
**Default**: 00000000-0000-0000-0000-000000000000 |
| `ReportedByUser` | Defines a customer's user for a ticket.
**Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `SenderEmailAddress` | **Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `ServiceLevelAgreement` | Defines a SLA ID for a ticket.
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
**Default**: 00000000-0000-0000-0000-000000000000 |
| `ServiceObject` | **Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `SupportUser` | Defines a support agent ID for a ticket.
**Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `TicketProducts` | **Type**: Array of Object
**Array type description:**
**Type**: Object |
| `Title` | Defines a ticket title.
**Type**: String |
| `UpdateEmailRecipients` | * None = 0
* Client = 1
* Manager = 4
* Supplier = 8
**Type**: Integer
**Allowed values**:
- `0`
- `1`
- `4`
- `8`
**Default**: 0 |
| `UpdateType` | * Customer = 0
* SupportUser = 1
**Type**: Integer
**Allowed values**:
- `0`
- `1`
**Default**: 0 |
| `UpdateUser` | **Type**: Union
**May be any of**:
1. **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
2. **Type**: null |
| `WebUrl` | **Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
**Example**:
```json
{
"FilesForEmailAttachmentOnCreateTicket": [],
"autoPauseCheck": null,
"UpdateUser": "df068165-248c-43c5-bf5d-db9cd1f3188e",
"ServiceLevelAgreement": "63b75905-10d4-44e9-ba1e-7aa2eff4100b",
"PlannedTicket": {
"StartHourstamp": 944,
"StartHour": "2024-08-09T15:44:20.936Z",
"PlannedDate": "",
"Hours": 1,
"Minutes": null
},
"Planned": null,
"Title": "Test",
"Category": "7f8320eb-d653-40ae-9d57-1257bead1a29",
"ContractPart": null,
"CustomFields": [],
"CustomerName": "cstmr_001",
"BillingActivityType": "493a36c9-4cd2-4b89-a693-99ac067d6776",
"BusinessUnitName": "Support group",
"CurrentDate": "2024-08-09T12:46:18.813Z",
"InternalNotes": null,
"PhoneNumber": "12311111",
"InternalActions": null,
"ManagerName": "cstmr_001 Manager",
"TicketProducts": [],
"elapsedHours": "00",
"isStreaming": true,
"NextContactDate": "2024-08-09",
"IsIctService": false,
"BusinessUnit": "25080d45-fc3f-4928-b861-681ba7d5b2e1",
"BillTheCustomer": true,
"ClientName": "cstmr_001 admin",
"CategoryName": "Default Sub-category",
"FilesForEmailAttachment": [],
"elapsedSeconds": 116,
"Customer": "2962473b-50df-4e53-a8d3-0068bbdb54d3",
"UpdateEmailRecipients": 1,
"Priority": "683a47ec-e57c-43a5-ba10-2ccdc03fd331",
"Message": "",
"elapsedMinutes": "01",
"Manager": "be2236fa-df17-4c61-8adb-f5667a343362",
"UTCNextContactDate": "2024-08-09T15:44:20.936Z",
"SupportUser": "df068165-248c-43c5-bf5d-db9cd1f3188e",
"Client": "eb090e85-8357-4fa3-a9bd-afaad51d030f",
"UpdateUserName": "Partner Administrator",
"ReportedByUser": "df068165-248c-43c5-bf5d-db9cd1f3188e",
"Status": "4feaaa86-8757-44d6-a8d6-99fdf9f8ce4d"
}
```
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### GET /Call
Fetches a ticket by ID.
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Query parameters
| Name | Description |
|------|-------------|
| `id` | (Required) The customer ID.
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` |
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### PUT /SchedulerTickets
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Request body
**Media type**: application/json
**Schema definition**:
| Name | Description |
|------|-------------|
| `ExternalUpdateId` | **Type**: Union
**May be any of**:
1. **Type**: Integer
2. **Type**: null |
| `Note` | **Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `TicketId` | **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
**Default**: 00000000-0000-0000-0000-000000000000 |
**Example**:
```json
{
"ExternalUpdateId": 0,
"Note": "",
"TicketId": "00000000-0000-0000-0000-000000000000"
}
```
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### GET /SchedulerTickets
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Query parameters
| Name | Description |
|------|-------------|
| `endDate` | (Optional) **Type**: Union
**May be any of**:
1. RFC3339-like date and time without timezone.
**Type**: String
**Pattern**: `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?$`
2. **Type**: null |
| `id` | (Required) User id
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` |
| `startDate` | (Optional) **Type**: Union
**May be any of**:
1. RFC3339-like date and time without timezone.
**Type**: String
**Pattern**: `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?$`
2. **Type**: null |
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### GET /UploadedFiles
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Query parameters
| Name | Description |
|------|-------------|
| `customer` | (Optional) **Type**: String |
| `referenceNumber` | (Optional) **Type**: String |
| `ticketId` | (Required) **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` |
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### GET /EmailUpdates
Covers attachments management for a ticket: upload, download, delete.
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Query parameters
| Name | Description |
|------|-------------|
| `id` | (Required) **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` |
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### POST /InvoiceOverview
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Request body
**Media type**: application/json
**Schema definition**:
| Name | Description |
|------|-------------|
| `invoice` | **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` |
| `paymentConfirmed` | **Type**: Boolean |
| `intPaymentType` | **Type**: Integer |
**Example**:
```json
{
"invoice": "00000000-0000-0000-0000-000000000000",
"paymentConfirmed": true,
"intPaymentType": 0
}
```
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### GET /InvoiceOverview
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Query parameters
| Name | Description |
|------|-------------|
| `Customer` | (Optional) Customer (GUID)
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `DeliveryMethod` | (Optional) Invoice's delivery method
**Type**: Union
**May be any of**:
1. **Type**: Boolean
2. **Type**: null |
| `DeliveryMethodByEmail` | (Optional) Invoice's delivery method "By email"
**Type**: Boolean
**Default**: false |
| `DeliveryMethodByPost` | (Optional) Invoice's delivery method "By mail"
**Type**: Boolean
**Default**: false |
| `InvoiceNumber` | (Optional) Invoice number
**Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `PaymentSent` | (Optional) Invoice's payment link
**Type**: Union
**May be any of**:
1. **Type**: Boolean
2. **Type**: null |
| `PaymentSentNotSent` | (Optional) Invoice's payment link not sent
**Type**: Boolean
**Default**: false |
| `PaymentSentSent` | (Optional) Invoice's payment link sent
**Type**: Boolean
**Default**: false |
| `PaymentStatus` | (Optional) Invoice's payment status
**Type**: Union
**May be any of**:
1. **Type**: Boolean
2. **Type**: null |
| `PaymentStatusConfirmed` | (Optional) Invoice's payment status confirmed
**Type**: Boolean
**Default**: false |
| `PaymentStatusNotConfirmed` | (Optional) Invoice's payment status not confirmed
**Type**: Boolean
**Default**: false |
| `ShowExported` | (Optional) Allows filtering by exported Invoices
**Type**: Union
**May be any of**:
1. **Type**: Boolean
2. **Type**: null |
| `SortColumn` | (Optional) Invoice sorting options
**Type**: String
**Allowed values**:
- `CustomerName`
- `BatchNumber`
- `CreationDate`
- `ScheduleAt`
- `DeliveryMethod`
- `EmailSent`
- `PaymentConfirmed`
- `PaidDate`
- `InvoicedBy`
- `ExportDate`
- `Exported`
- `InvoiceNumber`
- `BilledFor`
- `PaymentMethod`
- `InvoiceTotal`
**Default**: CustomerName |
| `SortDirection` | (Optional) Invoice sorting direction ascending or descending
**Type**: String
**Allowed values**:
- `Asc`
- `Desc`
**Default**: Asc |
| `Page` | (Required) Invoice pagination options: page number.
**Type**: Integer
**Default**: 0 |
| `PageSize` | (Required) Invoice pagination options: page size.
**Type**: Integer
**Default**: 0 |
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### GET /DownloadInvoice
Downloads an Invoice based on its ID.
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Query parameters
| Name | Description |
|------|-------------|
| `id` | (Required) ID of the invoice.
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` |
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### POST /ExportInvoice
Exports Invoices based on IDs and format type and sets their `Exported` flag and sets or updates `ExportedDate`.
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Query parameters
| Name | Description |
|------|-------------|
| `ids` | (Required) ID of the invoice.
**Type**: Array of String
**Array type description:**
**Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` |
| `exportFormat` | (Required) Export format. 0 for XML; 1 for CSV.
**Type**: Integer
**Allowed values**:
- `0`
- `1` |
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### GET /DashboardData
Fetches data for Dashboard which includes ticket types.
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Query parameters
| Name | Description |
|------|-------------|
| `CurrentUser` | (Required) **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` |
| `EndDate` | (Optional) **Type**: Union
**May be any of**:
1. RFC3339-like date and time without timezone.
**Type**: String
**Pattern**: `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?$`
2. **Type**: null |
| `StartDate` | (Optional) **Type**: Union
**May be any of**:
1. RFC3339-like date and time without timezone.
**Type**: String
**Pattern**: `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?$`
2. **Type**: null |
| `isTier4` | (Optional) **Type**: Union
**May be any of**:
1. **Type**: Boolean
2. **Type**: null |
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### GET /SLA
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Query parameters
| Name | Description |
|------|-------------|
| `Active` | (Optional) **Type**: Union
**May be any of**:
1. **Type**: Boolean
2. **Type**: null |
| `Name` | (Optional) **Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `Page` | (Required) **Type**: Integer |
| `ShortName` | (Optional) **Type**: String |
| `SortColumn` | (Optional) **Type**: String
**Allowed values**:
- `Name` |
| `SortDirection` | (Optional) **Type**: String
**Allowed values**:
- `Asc`
- `Desc` |
| `PageSize` | (Required) **Type**: Integer
**Default**: 0 |
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### PUT /Taxes
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Request body
**Media type**: application/json
**Schema definition**:
| Name | Description |
|------|-------------|
| `Active` | **Type**: Boolean
**Default**: false |
| `AllowInactive` | **Type**: Boolean
**Default**: false |
| `Code` | **Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `Id` | **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
**Default**: 00000000-0000-0000-0000-000000000000 |
| `IsDefault` | **Type**: Boolean
**Default**: false |
| `Name` | **Type**: Union
**May be any of**:
1. **Type**: String
2. **Type**: null |
| `Tenant` | **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
**Default**: 00000000-0000-0000-0000-000000000000 |
| `Value` | **Type**: Number
**Default**: 0 |
**Example**:
```json
{
"Active": false,
"AllowInactive": false,
"Code": "",
"Id": "00000000-0000-0000-0000-000000000000",
"IsDefault": false,
"Name": "",
"Tenant": "00000000-0000-0000-0000-000000000000",
"Value": 0
}
```
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### POST /Taxes
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Request body
**Media type**: application/json
**Schema definition**:
| Name | Description |
|------|-------------|
| `Tax` | **Type**: Array of Object
**Array type description:**
**Type**: Object |
**Example**:
```json
{
"Tax": [
{
"Active": false,
"AllowInactive": false,
"Code": "",
"Id": "00000000-0000-0000-0000-000000000000",
"IsDefault": false,
"Name": "",
"Tenant": "00000000-0000-0000-0000-000000000000",
"Value": 0
}
]
}
```
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### GET /Taxes
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Query parameters
| Name | Description |
|------|-------------|
| `id` | (Required) **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` |
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |
### DELETE /Taxes
#### Security
The endpoint supports the following authorization methods: `OAuth 2.0`
#### Request parameters
##### Query parameters
| Name | Description |
|------|-------------|
| `id` | (Required) **Type**: String
**Pattern**: `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` |
#### Responses
| Code | Description |
|------|-------------|
| `200` | - |