openapi: 3.2.0 info: version: v1 title: Datto|Autotask PSA Rest Contract Retainers Child API servers: - url: https://webservices2.autotask.net/ATServicesRest tags: - name: ContractRetainersChild paths: /V1.0/Contracts/{parentId}/Retainers: get: tags: - ContractRetainersChild operationId: ContractRetainersChild_Query parameters: - name: parentId 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/QueryActionResult_ContractRetainerModel_ContractRetainer' text/json: schema: $ref: '#/components/schemas/QueryActionResult_ContractRetainerModel_ContractRetainer' '401': description: Unauthorized '403': description: Forbidden put: tags: - ContractRetainersChild operationId: ContractRetainersChild_UpdateEntity parameters: - name: parentId 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/OperationResultModel' text/json: schema: $ref: '#/components/schemas/OperationResultModel' '401': description: Unauthorized '403': description: Forbidden requestBody: content: application/json: schema: $ref: '#/components/schemas/ContractRetainerModel' required: true post: tags: - ContractRetainersChild operationId: ContractRetainersChild_CreateEntity parameters: - name: parentId 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/OperationResultModel' text/json: schema: $ref: '#/components/schemas/OperationResultModel' '401': description: Unauthorized '403': description: Forbidden requestBody: content: application/json: schema: $ref: '#/components/schemas/ContractRetainerModel' required: true patch: tags: - ContractRetainersChild operationId: ContractRetainersChild_PatchEntity parameters: - name: parentId 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/OperationResultModel' text/json: schema: $ref: '#/components/schemas/OperationResultModel' '401': description: Unauthorized '403': description: Forbidden requestBody: content: application/json: schema: $ref: '#/components/schemas/ContractRetainerModel' required: true /V1.0/Contracts/{parentId}/Retainers/{id}: get: tags: - ContractRetainersChild operationId: ContractRetainersChild_QueryItem parameters: - name: parentId in: path required: true schema: type: integer format: int64 - 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_ContractRetainerModel_ContractRetainer' text/json: schema: $ref: '#/components/schemas/ItemQueryResultModel_ContractRetainerModel_ContractRetainer' '401': description: Unauthorized '403': description: Forbidden /V1.0/Contracts/{parentId}/Retainers/entityInformation: get: tags: - ContractRetainersChild operationId: ContractRetainersChild_QueryEntityInformation parameters: - name: parentId in: path 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/EntityInformationResultModel' text/json: schema: $ref: '#/components/schemas/EntityInformationResultModel' '401': description: Unauthorized '403': description: Forbidden /V1.0/Contracts/{parentId}/Retainers/entityInformation/fields: get: tags: - ContractRetainersChild operationId: ContractRetainersChild_QueryFieldDefinitions parameters: - name: parentId in: path 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/FieldInformationResultModel' text/json: schema: $ref: '#/components/schemas/FieldInformationResultModel' '401': description: Unauthorized '403': description: Forbidden /V1.0/Contracts/{parentId}/Retainers/entityInformation/userDefinedFields: get: tags: - ContractRetainersChild operationId: ContractRetainersChild_QueryUserDefinedFieldDefinitions parameters: - name: parentId in: path 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/UserDefinedFieldInformationResultModel' text/json: schema: $ref: '#/components/schemas/UserDefinedFieldInformationResultModel' '401': description: Unauthorized '403': description: Forbidden components: schemas: ParameterExpression: type: object properties: type: type: string readOnly: true nodeType: enum: - Add - AddChecked - And - AndAlso - ArrayLength - ArrayIndex - Call - Coalesce - Conditional - Constant - Convert - ConvertChecked - Divide - Equal - ExclusiveOr - GreaterThan - GreaterThanOrEqual - Invoke - Lambda - LeftShift - LessThan - LessThanOrEqual - ListInit - MemberAccess - MemberInit - Modulo - Multiply - MultiplyChecked - Negate - UnaryPlus - NegateChecked - New - NewArrayInit - NewArrayBounds - Not - NotEqual - Or - OrElse - Parameter - Power - Quote - RightShift - Subtract - SubtractChecked - TypeAs - TypeIs - Assign - Block - DebugInfo - Decrement - Dynamic - Default - Extension - Goto - Increment - Index - Label - RuntimeVariables - Loop - Switch - Throw - Try - Unbox - AddAssign - AndAssign - DivideAssign - ExclusiveOrAssign - LeftShiftAssign - ModuloAssign - MultiplyAssign - OrAssign - PowerAssign - RightShiftAssign - SubtractAssign - AddAssignChecked - MultiplyAssignChecked - SubtractAssignChecked - PreIncrementAssign - PreDecrementAssign - PostIncrementAssign - PostDecrementAssign - TypeEqual - OnesComplement - IsTrue - IsFalse type: string readOnly: true name: type: string readOnly: true isByRef: type: boolean readOnly: true canReduce: type: boolean readOnly: true 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 PagingModel: type: object properties: count: format: int32 type: integer requestCount: format: int32 type: integer readOnly: true prevPageUrl: type: string nextPageUrl: type: string 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 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 Expression_Func_ContractRetainer_Int64: type: object properties: type: type: string readOnly: true nodeType: enum: - Add - AddChecked - And - AndAlso - ArrayLength - ArrayIndex - Call - Coalesce - Conditional - Constant - Convert - ConvertChecked - Divide - Equal - ExclusiveOr - GreaterThan - GreaterThanOrEqual - Invoke - Lambda - LeftShift - LessThan - LessThanOrEqual - ListInit - MemberAccess - MemberInit - Modulo - Multiply - MultiplyChecked - Negate - UnaryPlus - NegateChecked - New - NewArrayInit - NewArrayBounds - Not - NotEqual - Or - OrElse - Parameter - Power - Quote - RightShift - Subtract - SubtractChecked - TypeAs - TypeIs - Assign - Block - DebugInfo - Decrement - Dynamic - Default - Extension - Goto - Increment - Index - Label - RuntimeVariables - Loop - Switch - Throw - Try - Unbox - AddAssign - AndAssign - DivideAssign - ExclusiveOrAssign - LeftShiftAssign - ModuloAssign - MultiplyAssign - OrAssign - PowerAssign - RightShiftAssign - SubtractAssign - AddAssignChecked - MultiplyAssignChecked - SubtractAssignChecked - PreIncrementAssign - PreDecrementAssign - PostIncrementAssign - PostDecrementAssign - TypeEqual - OnesComplement - IsTrue - IsFalse type: string readOnly: true parameters: type: array items: $ref: '#/components/schemas/ParameterExpression' readOnly: true name: type: string readOnly: true body: $ref: '#/components/schemas/Expression' readOnly: true returnType: type: string readOnly: true tailCall: type: boolean readOnly: true canReduce: type: boolean readOnly: true Expression: type: object properties: nodeType: enum: - Add - AddChecked - And - AndAlso - ArrayLength - ArrayIndex - Call - Coalesce - Conditional - Constant - Convert - ConvertChecked - Divide - Equal - ExclusiveOr - GreaterThan - GreaterThanOrEqual - Invoke - Lambda - LeftShift - LessThan - LessThanOrEqual - ListInit - MemberAccess - MemberInit - Modulo - Multiply - MultiplyChecked - Negate - UnaryPlus - NegateChecked - New - NewArrayInit - NewArrayBounds - Not - NotEqual - Or - OrElse - Parameter - Power - Quote - RightShift - Subtract - SubtractChecked - TypeAs - TypeIs - Assign - Block - DebugInfo - Decrement - Dynamic - Default - Extension - Goto - Increment - Index - Label - RuntimeVariables - Loop - Switch - Throw - Try - Unbox - AddAssign - AndAssign - DivideAssign - ExclusiveOrAssign - LeftShiftAssign - ModuloAssign - MultiplyAssign - OrAssign - PowerAssign - RightShiftAssign - SubtractAssign - AddAssignChecked - MultiplyAssignChecked - SubtractAssignChecked - PreIncrementAssign - PreDecrementAssign - PostIncrementAssign - PostDecrementAssign - TypeEqual - OnesComplement - IsTrue - IsFalse type: string readOnly: true type: type: string readOnly: true canReduce: type: boolean readOnly: true Object: type: object properties: {} QueryActionResult_ContractRetainerModel_ContractRetainer: type: object properties: items: type: array items: $ref: '#/components/schemas/ContractRetainerModel' pageDetails: $ref: '#/components/schemas/PagingModel' 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: {} ContractRetainerModel: type: object properties: id: format: int64 type: integer amount: format: double type: number amountApproved: format: double type: number contractID: format: int32 type: integer datePurchased: format: date-time type: string endDate: format: date-time type: string internalCurrencyAmount: format: double type: number internalCurrencyAmountApproved: format: double type: number invoiceNumber: type: string isPaid: type: boolean paymentID: format: int32 type: integer paymentNumber: type: string startDate: format: date-time type: string status: format: int32 type: integer soapParentPropertyId: $ref: '#/components/schemas/Expression_Func_ContractRetainer_Int64' readOnly: true ItemQueryResultModel_ContractRetainerModel_ContractRetainer: type: object properties: item: $ref: '#/components/schemas/ContractRetainerModel' OperationResultModel: type: object properties: itemId: $ref: '#/components/schemas/Object'