openapi: 3.2.0 info: version: v1 title: Datto|Autotask PSA Rest Invoice Templates API servers: - url: https://webservices2.autotask.net/ATServicesRest tags: - name: InvoiceTemplates paths: /V1.0/InvoiceTemplates/query: get: tags: - InvoiceTemplates operationId: InvoiceTemplates_UrlParameterQuery parameters: - name: search in: query required: true schema: type: string - name: ApiIntegrationCode in: header description: API Integration Code required: true schema: type: string - name: UserName in: header description: User Name required: true schema: type: string - name: Secret in: header description: Secret required: true schema: type: string - name: ImpersonationResourceId in: header description: Impersonation Resource Key required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/QueryActionResult_InvoiceTemplateModel_InvoiceTemplate' text/json: schema: $ref: '#/components/schemas/QueryActionResult_InvoiceTemplateModel_InvoiceTemplate' '401': description: Unauthorized '403': description: Forbidden post: tags: - InvoiceTemplates operationId: InvoiceTemplates_Query parameters: - name: ApiIntegrationCode in: header description: API Integration Code required: true schema: type: string - name: UserName in: header description: User Name required: true schema: type: string - name: Secret in: header description: Secret required: true schema: type: string - name: ImpersonationResourceId in: header description: Impersonation Resource Key required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/QueryActionResult_InvoiceTemplateModel_InvoiceTemplate' text/json: schema: $ref: '#/components/schemas/QueryActionResult_InvoiceTemplateModel_InvoiceTemplate' '401': description: Unauthorized '403': description: Forbidden requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryModel' required: true /V1.0/InvoiceTemplates/{id}: get: tags: - InvoiceTemplates operationId: InvoiceTemplates_QueryItem parameters: - name: id in: path required: true schema: type: integer format: int64 - name: ApiIntegrationCode in: header description: API Integration Code required: true schema: type: string - name: UserName in: header description: User Name required: true schema: type: string - name: Secret in: header description: Secret required: true schema: type: string - name: ImpersonationResourceId in: header description: Impersonation Resource Key required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ItemQueryResultModel_InvoiceTemplateModel_InvoiceTemplate' text/json: schema: $ref: '#/components/schemas/ItemQueryResultModel_InvoiceTemplateModel_InvoiceTemplate' '401': description: Unauthorized '403': description: Forbidden /V1.0/InvoiceTemplates/query/count: get: tags: - InvoiceTemplates operationId: InvoiceTemplates_UrlParameterQueryCount parameters: - name: search in: query required: true schema: type: string - name: ApiIntegrationCode in: header description: API Integration Code required: true schema: type: string - name: UserName in: header description: User Name required: true schema: type: string - name: Secret in: header description: Secret required: true schema: type: string - name: ImpersonationResourceId in: header description: Impersonation Resource Key required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/QueryCountResultModel' text/json: schema: $ref: '#/components/schemas/QueryCountResultModel' '401': description: Unauthorized '403': description: Forbidden post: tags: - InvoiceTemplates operationId: InvoiceTemplates_QueryCount parameters: - name: ApiIntegrationCode in: header description: API Integration Code required: true schema: type: string - name: UserName in: header description: User Name required: true schema: type: string - name: Secret in: header description: Secret required: true schema: type: string - name: ImpersonationResourceId in: header description: Impersonation Resource Key required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/QueryCountResultModel' text/json: schema: $ref: '#/components/schemas/QueryCountResultModel' '401': description: Unauthorized '403': description: Forbidden requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryModel' required: true /V1.0/InvoiceTemplates/entityInformation: get: tags: - InvoiceTemplates operationId: InvoiceTemplates_QueryEntityInformation parameters: - name: ApiIntegrationCode in: header description: API Integration Code required: true schema: type: string - name: UserName in: header description: User Name required: true schema: type: string - name: Secret in: header description: Secret required: true schema: type: string - name: ImpersonationResourceId in: header description: Impersonation Resource Key required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/EntityInformationResultModel' text/json: schema: $ref: '#/components/schemas/EntityInformationResultModel' '401': description: Unauthorized '403': description: Forbidden /V1.0/InvoiceTemplates/entityInformation/fields: get: tags: - InvoiceTemplates operationId: InvoiceTemplates_QueryFieldDefinitions parameters: - name: ApiIntegrationCode in: header description: API Integration Code required: true schema: type: string - name: UserName in: header description: User Name required: true schema: type: string - name: Secret in: header description: Secret required: true schema: type: string - name: ImpersonationResourceId in: header description: Impersonation Resource Key required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FieldInformationResultModel' text/json: schema: $ref: '#/components/schemas/FieldInformationResultModel' '401': description: Unauthorized '403': description: Forbidden /V1.0/InvoiceTemplates/entityInformation/userDefinedFields: get: tags: - InvoiceTemplates operationId: InvoiceTemplates_QueryUserDefinedFieldDefinitions parameters: - name: ApiIntegrationCode in: header description: API Integration Code required: true schema: type: string - name: UserName in: header description: User Name required: true schema: type: string - name: Secret in: header description: Secret required: true schema: type: string - name: ImpersonationResourceId in: header description: Impersonation Resource Key required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserDefinedFieldInformationResultModel' text/json: schema: $ref: '#/components/schemas/UserDefinedFieldInformationResultModel' '401': description: Unauthorized '403': description: Forbidden components: schemas: UserDefinedFieldInformationResultModel: type: object properties: fields: type: array items: $ref: '#/components/schemas/Field' readOnly: true EntityInformationResultModel: type: object properties: info: $ref: '#/components/schemas/EntityInformationModel' readOnly: true FieldInformationModel: type: object properties: name: type: string dataType: type: string length: format: int32 type: integer isRequired: type: boolean isReadOnly: type: boolean isQueryable: type: boolean isReference: type: boolean referenceEntityType: type: string isPickList: type: boolean picklistValues: type: array items: $ref: '#/components/schemas/PickListValue' picklistParentValueField: type: string isSupportedWebhookField: $ref: '#/components/schemas/Object' FieldInformationResultModel: type: object properties: fields: type: array items: $ref: '#/components/schemas/FieldInformationModel' readOnly: true EntityInformationModel: type: object properties: name: type: string readOnly: true canCreate: type: boolean readOnly: true canDelete: type: boolean readOnly: true canQuery: type: boolean readOnly: true canUpdate: type: boolean readOnly: true userAccessForCreate: $ref: '#/components/schemas/RestUserAccessLevel' readOnly: true userAccessForDelete: $ref: '#/components/schemas/RestUserAccessLevel' readOnly: true userAccessForQuery: $ref: '#/components/schemas/RestUserAccessLevel' readOnly: true userAccessForUpdate: $ref: '#/components/schemas/RestUserAccessLevel' readOnly: true hasUserDefinedFields: type: boolean readOnly: true supportsWebhookCallouts: type: boolean readOnly: true ItemQueryResultModel_InvoiceTemplateModel_InvoiceTemplate: type: object properties: item: $ref: '#/components/schemas/InvoiceTemplateModel' PickListValue: type: object properties: value: type: string label: type: string isDefaultValue: type: boolean sortOrder: format: int32 type: integer parentValue: type: string isActive: type: boolean isSystem: type: boolean QueryModel: type: object properties: maxRecords: format: int32 type: integer includeFields: type: array items: type: string filter: type: array items: $ref: '#/components/schemas/Filter' example: MaxRecords: 10 IncludeFields: [] Filter: - op: gt field: id value: 0 udf: false items: [] Object: type: object properties: {} Field: type: object properties: name: type: string label: type: string type: type: string length: format: int32 type: integer description: type: string isRequired: type: boolean isReadOnly: type: boolean isQueryable: type: boolean isReference: type: boolean referenceEntityType: type: string isPickList: type: boolean picklistValues: type: array items: $ref: '#/components/schemas/PickListValue' picklistParentValueField: type: string defaultValue: type: string isSupportedWebhookField: $ref: '#/components/schemas/Object' RestUserAccessLevel: type: object properties: {} InvoiceTemplateModel: type: object properties: id: format: int64 type: integer coveredByBlockRetainerContractLabel: type: string coveredByRecurringServiceFixedPricePerTicketContractLabel: type: string currencyNegativeFormat: type: string currencyPositiveFormat: type: string dateFormat: format: int32 type: integer displayFixedPriceContractLabor: type: boolean displayRecurringServiceContractLabor: type: boolean displaySeparateLineItemForEachTax: type: boolean displayTaxCategory: type: boolean displayTaxCategorySuperscripts: type: boolean displayZeroAmountRecurringServicesAndBundles: type: boolean groupBy: format: int32 type: integer itemizeItemsInEachGroup: format: int32 type: integer itemizeServicesAndBundles: type: boolean name: type: string nonBillableLaborLabel: type: string numberFormat: format: int32 type: integer pageLayout: format: int32 type: integer pageNumberFormat: format: int32 type: integer paymentTerms: format: int32 type: integer rateCostExpression: type: string showGridHeader: type: boolean showVerticalGridLines: type: boolean sortBy: format: int32 type: integer timeFormat: format: int32 type: integer Filter: type: object properties: op: type: string field: type: string udf: type: boolean value: description: 'Can be either an Integer, String, Boolean, an Array of Integers, or an Array of Strings. ' type: object properties: {} items: description: An Array of Filter objects type: array items: $ref: '#/components/schemas/Filter' QueryCountResultModel: type: object properties: queryCount: format: int32 type: integer PagingModel: type: object properties: count: format: int32 type: integer requestCount: format: int32 type: integer readOnly: true prevPageUrl: type: string nextPageUrl: type: string QueryActionResult_InvoiceTemplateModel_InvoiceTemplate: type: object properties: items: type: array items: $ref: '#/components/schemas/InvoiceTemplateModel' pageDetails: $ref: '#/components/schemas/PagingModel'