API Documentation
TaxRates ¶
TaxRates ¶
The Tax rate object represents tax data in the invoicing system.
You can find out more about tax rates in our Help documentation: Setting up and Managing Tax Rates in Invoicing.
Following diagram shows tax rates in our data hierarchy:
Supported filter params
-
id
-
name
-
primary_component_name
-
primary_component_value
-
secondary_component_name
-
secondary_component_value
-
subsidiary.id
-
status (1: active, 2: archived)
Supported sort params
-
name
-
subsidiary_name
Filter operations are supported on this endpoint.
GET /api/v2/tax_rates
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "29",
"type": "tax_rates",
"attributes": {
"name": "Testing Tax Rate",
"primary_component_name": "Tax1",
"primary_component_value": "25.0",
"secondary_component_name": null,
"secondary_component_value": null,
"archived_at": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2025"
}
},
"subsidiary": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/tax_rates?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/tax_rates?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
GET /api/v2/tax_rates
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"errors": [
{
"status": "403",
"code": "financials_unavailable",
"title": "Access Denied",
"detail": "Feature financials unavailable",
"source": {}
}
]
}
Get tax ratesGET/api/v2/tax_rates
GET /api/v2/tax_rates/31
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "31",
"type": "tax_rates",
"attributes": {
"name": "Testing Tax Rate",
"primary_component_name": "Tax1",
"primary_component_value": "25.0",
"secondary_component_name": null,
"secondary_component_value": null,
"archived_at": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2027"
}
},
"subsidiary": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
GET /api/v2/tax_rates/32
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"errors": [
{
"status": "403",
"code": "financials_unavailable",
"title": "Access Denied",
"detail": "Feature financials unavailable",
"source": {}
}
]
}
POST /api/v2/tax_rates
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"errors": [
{
"status": "403",
"code": "financials_unavailable",
"title": "Access Denied",
"detail": "Feature financials unavailable",
"source": {}
}
]
}
POST /api/v2/tax_rates
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "tax_rate",
"attributes": {
"name": "Another Testing Tax Rate",
"primary_component_name": "Tax1",
"primary_component_value": 25,
"secondary_component_name": "Tax2",
"secondary_component_value": 5,
"subsidiary_id": 2445
},
"relationships": {
"subsidiary": {
"data": {
"type": "subsidiaries",
"id": "2445"
}
}
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "35",
"type": "tax_rates",
"attributes": {
"name": "Another Testing Tax Rate",
"primary_component_name": "Tax1",
"primary_component_value": "25.0",
"secondary_component_name": "Tax2",
"secondary_component_value": "5.0",
"archived_at": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2030"
}
},
"subsidiary": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
POST /api/v2/tax_rates
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "tax_rates",
"attributes": {
"name": null,
"primary_component_name": null,
"primary_component_value": null,
"secondary_component_value": null,
"subsidiary_id": null
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"errors": [
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "can't be blank",
"source": {
"pointer": "data/attributes/name"
}
},
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "can't be blank",
"source": {
"pointer": "data/attributes/subsidiary"
}
}
]
}
Create a tax ratePOST/api/v2/tax_rates
- subsidiary_id
number
(required) Example: 1subsidiary id
- name
string
(required) Example: TaxRatename
- primary_component_name
string
(optional) Example: Primary+Componentname of primary tax
- primary_component_value
decimal
(optional) Example: 25.0value of primary tax
- secondary_component_name
string
(optional) Example: Secondary+Componentname of secondary tax
- secondary_component_value
decimal
(optional) Example: 5.7value of secondary tax
PATCH /api/v2/tax_rates/37
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"errors": [
{
"status": "403",
"code": "financials_unavailable",
"title": "Access Denied",
"detail": "Feature financials unavailable",
"source": {}
}
]
}
PATCH /api/v2/tax_rates/38
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "tax_rates",
"attributes": {
"name": "Testing Tax Rate Updated"
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "38",
"type": "tax_rates",
"attributes": {
"name": "Testing Tax Rate Updated",
"primary_component_name": "Tax1",
"primary_component_value": "25.0",
"secondary_component_name": null,
"secondary_component_value": null,
"archived_at": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2033"
}
},
"subsidiary": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
PATCH /api/v2/tax_rates/39
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "tax_rates",
"attributes": {
"secondary_component_name": "Tax2 Updated"
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"errors": [
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "can't be blank",
"source": {
"pointer": "data/attributes/secondary_component_value"
}
},
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "is not a number",
"source": {
"pointer": "data/attributes/secondary_component_value"
}
}
]
}
Update a tax ratePATCH/api/v2/tax_rates/
- subsidiary_id
number
(required) Example: 1subsidiary id
- name
string
(required) Example: TaxRatename
- primary_component_name
string
(optional) Example: Primary+Componentname of primary tax
- primary_component_value
decimal
(optional) Example: 25.0value of primary tax
- secondary_component_name
string
(optional) Example: Secondary+Componentname of secondary tax
- secondary_component_value
decimal
(optional) Example: 5.7value of secondary tax
PATCH /api/v2/tax_rates/40/archive
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "40",
"type": "tax_rates",
"attributes": {
"name": "Testing Tax Rate",
"primary_component_name": "Tax1",
"primary_component_value": "25.0",
"secondary_component_name": null,
"secondary_component_value": null,
"archived_at": "2025-08-02T02:20:10.000+02:00"
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2035"
}
},
"subsidiary": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
PATCH /api/v2/tax_rates/41/archive
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"errors": [
{
"status": "403",
"code": "financials_unavailable",
"title": "Access Denied",
"detail": "Feature financials unavailable",
"source": {}
}
]
}
Archives a tax ratePATCH/api/v2/tax_rates/{id}/archive
- id
number
(required) Example: 1tax rate id
PATCH /api/v2/tax_rates/43/restore
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "43",
"type": "tax_rates",
"attributes": {
"name": "TaxRate29",
"primary_component_name": "Tax1",
"primary_component_value": "25.0",
"secondary_component_name": null,
"secondary_component_value": null,
"archived_at": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "2037"
}
},
"subsidiary": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
PATCH /api/v2/tax_rates/45/restore
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"errors": [
{
"status": "403",
"code": "financials_unavailable",
"title": "Access Denied",
"detail": "Feature financials unavailable",
"source": {}
}
]
}
Restores an archived tax ratePATCH/api/v2/tax_rates/{id}/restore
- id
number
(required) Example: 1tax rate id
Generated by aglio on 02 Aug 2025