openapi: 3.0.3 info: title: TaxJar Sales Tax Categories Transactions - Orders API description: REST API for real-time sales tax calculation, rooftop-level rate lookups, tax category listing, transaction management (orders and refunds), customer exemption management, nexus region tracking, address validation, and VAT validation. Supports token-based authentication via Authorization header. TaxJar is a Stripe company providing sub-20ms response times and 99.999% historical uptime. version: '2.0' contact: name: TaxJar Developer Support url: https://support.taxjar.com/category/233-taxjar-api termsOfService: https://www.taxjar.com/terms/ x-api-id: taxjar-sales-tax servers: - url: https://api.taxjar.com/v2 description: Production - url: https://api.sandbox.taxjar.com/v2 description: Sandbox security: - bearerAuth: [] tags: - name: Transactions - Orders description: Order transaction management paths: /transactions/orders: get: operationId: listOrders summary: List order transactions description: Returns a list of order transaction IDs for the authenticated account. Supports filtering by date range and provider. tags: - Transactions - Orders parameters: - name: transaction_date in: query description: Filter orders by exact transaction date (YYYY-MM-DD) schema: type: string format: date - name: from_transaction_date in: query description: Start date filter (YYYY-MM-DD) schema: type: string format: date - name: to_transaction_date in: query description: End date filter (YYYY-MM-DD) schema: type: string format: date - name: provider in: query description: Filter by provider (e.g. api, shopify, woocommerce) schema: type: string responses: '200': description: List of order transaction IDs content: application/json: schema: type: object properties: orders: type: array items: type: string '401': $ref: '#/components/responses/Unauthorized' post: operationId: createOrder summary: Create an order transaction description: Creates a new order transaction for sales tax reporting and AutoFile purposes. Use this to record completed sales. tags: - Transactions - Orders requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OrderRequest' responses: '201': description: Order transaction created content: application/json: schema: type: object properties: order: $ref: '#/components/schemas/Order' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/UnprocessableEntity' /transactions/orders/{transaction_id}: get: operationId: showOrder summary: Show an order transaction description: Returns a single order transaction by transaction ID. tags: - Transactions - Orders parameters: - name: transaction_id in: path required: true description: Unique identifier for the order transaction schema: type: string - name: provider in: query description: Provider for the transaction (e.g. api, shopify) schema: type: string responses: '200': description: Order transaction details content: application/json: schema: type: object properties: order: $ref: '#/components/schemas/Order' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' put: operationId: updateOrder summary: Update an order transaction description: Updates an existing order transaction by transaction ID. tags: - Transactions - Orders parameters: - name: transaction_id in: path required: true description: Unique identifier for the order transaction schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OrderRequest' responses: '200': description: Updated order transaction content: application/json: schema: type: object properties: order: $ref: '#/components/schemas/Order' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' delete: operationId: deleteOrder summary: Delete an order transaction description: Deletes an existing order transaction by transaction ID. tags: - Transactions - Orders parameters: - name: transaction_id in: path required: true description: Unique identifier for the order transaction schema: type: string - name: provider in: query description: Provider for the transaction schema: type: string responses: '200': description: Deleted order transaction content: application/json: schema: type: object properties: order: $ref: '#/components/schemas/Order' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: LineItem: type: object properties: id: type: string quantity: type: integer product_identifier: type: string description: type: string product_tax_code: type: string unit_price: type: number format: float discount: type: number format: float sales_tax: type: number format: float LineItemRequest: type: object properties: id: type: string description: Unique identifier for the line item quantity: type: integer description: Quantity of the item example: 1 product_identifier: type: string description: Product SKU or identifier description: type: string description: Description of the product product_tax_code: type: string description: Product tax code for category-specific rates unit_price: type: number format: float description: Unit price of the item example: 15.0 discount: type: number format: float description: Discount amount for this line item sales_tax: type: number format: float description: Sales tax collected for this line item Order: type: object properties: transaction_id: type: string description: Unique identifier for the order transaction example: '123' user_id: type: integer description: TaxJar user ID transaction_date: type: string description: Date of the transaction example: '2015-05-14T00:00:00Z' provider: type: string description: Source of the transaction example: api exemption_type: type: string description: Exemption type applied from_country: type: string example: US from_zip: type: string example: '94025' from_state: type: string example: CA from_city: type: string from_street: type: string to_country: type: string example: US to_zip: type: string example: '90002' to_state: type: string example: CA to_city: type: string to_street: type: string amount: type: number format: float example: 16.5 shipping: type: number format: float example: 1.5 sales_tax: type: number format: float example: 0.95 line_items: type: array items: $ref: '#/components/schemas/LineItem' OrderRequest: type: object required: - transaction_id - transaction_date - to_country - to_zip - to_state - amount - shipping - sales_tax properties: transaction_id: type: string description: Unique identifier for this order transaction example: '123' transaction_date: type: string description: Date of the transaction (YYYY-MM-DD or ISO 8601) example: 2015/05/14 provider: type: string description: Source of the transaction (api, shopify, woocommerce, etc.) example: shopify exemption_type: type: string description: Exemption type for this order enum: - wholesale - government - other - non_exempt from_country: type: string description: Two-letter ISO country code of origin example: US from_zip: type: string description: Postal code of origin from_state: type: string description: Two-letter state code of origin from_city: type: string description: City of origin from_street: type: string description: Street address of origin to_country: type: string description: Two-letter ISO country code of destination example: US to_zip: type: string description: Postal code of destination example: '90002' to_state: type: string description: Two-letter state code of destination example: CA to_city: type: string description: City of destination to_street: type: string description: Street address of destination amount: type: number format: float description: Total amount of order (excluding shipping) example: 16.5 shipping: type: number format: float description: Total shipping cost example: 1.5 sales_tax: type: number format: float description: Total sales tax collected example: 0.95 line_items: type: array items: $ref: '#/components/schemas/LineItemRequest' customer_id: type: string description: Unique identifier of the customer Error: type: object properties: error: type: string description: Error type detail: type: string description: Human-readable error detail status: type: integer description: HTTP status code responses: Unauthorized: description: Unauthorized - invalid or missing API token content: application/json: schema: $ref: '#/components/schemas/Error' UnprocessableEntity: description: Unprocessable entity - validation error content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Bad request - invalid parameters content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: bearerAuth: type: http scheme: bearer description: 'Use your TaxJar API token. Format: "Bearer [token]" or "Token token=[token]"'