# 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` | - |