openapi: 3.0.1 info: title: Next Generation Reporting REST APIs description: Transaction Extract Reporting REST APIs enable you to access transaction-level data for selected companies according to the unique needs of your organization. contact: name: IDT AWS Support email: IDTAWSResourceOwners@thomson.com version: "1.0" servers: - url: https://api.onesourcetax.com/indirect-tax-determination/transaction-extracts/v1 description: "IDT US" - url: https://api-emea.onesourcetax.com/indirect-tax-determination/transaction-extracts/v1 description: "IDT EU" - url: https://api.onesourcetax.com/indirect-tax-determination-iv/transaction-extracts/v1 description: "IDT-IV US" - url: https://api-uat.onesourcetax.com/indirect-tax-determination/transaction-extracts/v1 description: "IDT US UAT" - url: https://api-uat.onesourcetax.com/indirect-tax-determination-iv/transaction-extracts/v1 description: "IDT-IV US UAT" security: - bearerAuth: [] tags: - name: report-controller description: Report Controller paths: /document-line-details/extract: post: tags: - report-controller summary: Retrieve document line level details for a selected list of companies. operationId: extractTransactionsUsingPOST parameters: - name: X-API-REQUEST-ID in: header description: Request ID schema: type: string example: "1" requestBody: description: Extract Transactions Request content: application/json: schema: $ref: '#/components/schemas/TransactionExtractRequest' required: false responses: 200: description: Extract transactions content: application/json: schema: $ref: '#/components/schemas/TransactionExtractResponse' 400: description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 401: description: Unauthorized access content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 403: description: Forbidden access content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' deprecated: false x-codegen-request-body-name: ExtractRequest /document-line-details/metadata: get: tags: - report-controller summary: Retrieve document metadata used for building transaction extract request. operationId: getParametersUsingGET parameters: - name: X-API-REQUEST-ID in: header description: Request ID schema: type: string example: "1" responses: 200: description: List of parameters content: application/json: schema: $ref: '#/components/schemas/ParametersResponse' 400: description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 401: description: Unauthorized access content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 403: description: Forbidden access content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' deprecated: false components: schemas: AttributeFilter: type: object properties: name: type: string description: Custom attribute name operator: type: string description: |- This field accepts the following: eq - equal ne - not equal enum: - eq - ne value: type: string description: The custome attribute value for which records needs compared and included. title: AttributeFilter Company: type: object properties: authorityTypes: type: array description: List of authority types with transaction for the company items: type: string companyName: type: string description: Name of the company used is authorized countries: type: array description: 'List of countries with transaction for the company ' items: $ref: '#/components/schemas/Country' taxTypes: type: array description: List of tax types with transaction for the company items: type: string transactionTypes: type: array description: List of transaction types with transaction for the company items: type: string title: Company Country: type: object properties: taxableCountry: type: string taxableProvinces: type: array items: type: string taxableStates: type: array items: type: string title: Country Error: type: object properties: code: type: string description: HTTP error code details: type: array description: List to include the detail of error message, root cause or possible resolution. items: type: string message: type: string description: Error message title: Error ErrorResponse: type: object required: - error properties: error: $ref: '#/components/schemas/Error' title: ErrorResponse FieldGroupInfo: type: object properties: fieldGroup: type: string fieldInfos: type: array items: $ref: '#/components/schemas/FieldInfo' title: FieldGroupInfo FieldInfo: type: object properties: field: type: string title: FieldInfo MetaData: type: object description: The wrapper for transaction extract response to contain metadata like column/fields, total no. of records in the response etc. required: - fields properties: fields: type: array items: type: string totalItems: type: integer format: int32 title: MetaData ParametersResponse: type: object properties: companies: type: array description: List of companies the user is authorized to access. items: $ref: '#/components/schemas/Company' companyRoles: type: array description: List of companie roles the user is authorized for. items: type: string fieldGroupInfos: type: array description: Mapping of field/column group name and associated fields items: $ref: '#/components/schemas/FieldGroupInfo' title: ParametersResponse TransactionExtractRequest: type: object required: - endDate - startDate properties: companyNames: type: array description: Names of companies in the Determination database. items: type: string dateType: type: string description: |- Identifies one of the following date types for transactions in the database: ·Transaction - The date range is based on the date the taxcalculation occurs for thedocument. ·Document - The date range is based on document dates. ·Fiscal - The date range is based on fiscal dates indicated by each transaction. ·Creation - The timestamp range is based on creation date. Format must be yyyy-mm-dd hh:mm:ss. ·Insert - The timestamp range is based on insert timestamp. Format must be yyyy-mm-dd hh:mm:ss. enum: - transaction - fiscal - document - creation - insert startDate: type: string description: Start date for a given date range. endDate: type: string description: End date(inclusive) for a given date range. movementDateType: type: string description: Movement date type for with the date range is specified :[Movement Date,Movement Date - Line,Original Movement Date, Original Movement Date - Line] enum: - Movement Date - Movement Date - Line - Original Movement Date - Original Movement Date - Line movementStartDate: type: string description: Movement start date of date range for which the extract is being requested movementEndDate: type: string description: Movement end date of date range for which the extract is being requested taxableCountries: type: array description: Countries where selected companies have a tax obligation. items: type: string taxableStates: type: array description: States where the selected company or companies have tax obligations. items: type: string taxableProvinces: type: array description: Provinces where the selected company or companies have tax obligations. items: type: string authorityTypes: type: array description: List of authority types for which the transactions to be included in the response items: type: string transactionTypes: type: array description: 2-digit code based on the selected company(s) used in tax data. items: type: string taxTypes: type: array description: 2-character abbreviation code used in tax data. Tax type is determined when the jurisdiction is determined. Some tax types are specific to only US or International transactions. items: type: string authorityNames: type: array description: List of tax authority names for which the transactions to be included in the response items: type: string productCodes: type: array description: ERP system product codes. items: type: string companyRoles: type: array description: The role the company plays in a given transaction:Buyer,Seller,or Middleman. Also seen in Determination as Merchant role. items: type: string taxDirection: type: string description: |- Specifies direction in which taxes are paid: ·Empty String (Any) ·I (Input Tax) ·O (Output Tax) commodityCodes: type: array description: Commodity identifier for a transaction. items: type: string customerNumbers: type: array description: An optional customer number(s) to limit output. items: type: string documentNumbers: type: array description: List of document numbers, document number is a transaction identifier;for example,an invoice or credit memo number. items: type: string vendorNumbers: type: array description: Comes from Determination data source. items: type: string fields: type: array description: List of column name (header). items: type: string attributeFilters: type: array description: List of custom attribute predicates for which the transactions to be included in the response items: $ref: '#/components/schemas/AttributeFilter' excludeFullyExemptTransactions: type: boolean description: '"True" omits fully exempt tax lines."False"includes fully exempt taxlines.' vctAppliedFlag: type: boolean description: '"True" VCT applied "False"VCT not applied' offset: type: integer format: int32 description: Offset of paginated response. Default value is 0. minimum: 0 exclusiveMinimum: false limit: type: integer format: int32 description: Limit of records per page of response. Default 5000, Maximum 250,000 records. minimum: 1 maximum: 250000 exclusiveMinimum: false title: TransactionExtractRequest TransactionExtractResponse: type: object required: - items properties: _meta: $ref: '#/components/schemas/MetaData' items: type: array description: The list of records in transaction extract response. items: type: object title: TransactionExtractResponse securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT