API Documentation

API Endpoint

Prices

Prices

Supported filter params

  • id

  • service_type_id (array)

  • company_id (array)

  • rate_card_id (array)

  • time_tracking_enabled

  • booking_tracking_enabled

  • expense_tracking_enabled

GET /api/v2/prices
Requestsreturns prices

GET  /api/v2/prices

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
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": [
    {
      "id": "1",
      "type": "prices",
      "attributes": {
        "name": "Price",
        "billing_type_id": null,
        "unit_id": 2,
        "quantity": "5.0",
        "updated_at": "2025-07-24T06:07:20.845+02:00",
        "description": null,
        "discount": null,
        "markup": null,
        "time_tracking_enabled": true,
        "booking_tracking_enabled": true,
        "expense_tracking_enabled": true,
        "editor_config": {},
        "budget_cap_enabled": false,
        "estimated_hours": null,
        "custom_fields": null,
        "currency": "USD",
        "currency_default": "USD",
        "currency_normalized": "USD",
        "rate": 10000,
        "rate_default": 10000,
        "rate_normalized": 10000
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "977"
          }
        },
        "service_type": {
          "meta": {
            "included": false
          }
        },
        "company": {
          "meta": {
            "included": false
          }
        },
        "updater": {
          "meta": {
            "included": false
          }
        },
        "rate_card": {
          "meta": {
            "included": false
          }
        },
        "custom_field_people": {
          "meta": {
            "included": false
          }
        },
        "custom_field_attachments": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/prices?page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/prices?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 prices
GET/api/v2/prices


GET /api/v2/prices/1
Requestsreturns price

GET  /api/v2/prices/2

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
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "2",
    "type": "prices",
    "attributes": {
      "name": "Price",
      "billing_type_id": null,
      "unit_id": 2,
      "quantity": "5.0",
      "updated_at": "2025-07-24T06:07:20.917+02:00",
      "description": null,
      "discount": null,
      "markup": null,
      "time_tracking_enabled": true,
      "booking_tracking_enabled": true,
      "expense_tracking_enabled": true,
      "editor_config": {},
      "budget_cap_enabled": false,
      "estimated_hours": null,
      "custom_fields": null,
      "currency": "USD",
      "currency_default": "USD",
      "currency_normalized": "USD",
      "rate": 10000,
      "rate_default": 10000,
      "rate_normalized": 10000
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "978"
        }
      },
      "service_type": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "rate_card": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Gets a price
GET/api/v2/prices/{id}

URI Parameters
HideShow
id
number (required) Example: 1

price id


POST /api/v2/prices
Requestscreates pricereturns errorcreates pricereturns errorcreates price

POST  /api/v2/prices

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": "prices",
    "attributes": {
      "name": "test name",
      "unit_id": 2,
      "rate": 100,
      "currency": "USD",
      "quantity": 5
    },
    "relationships": {
      "company": {
        "data": {
          "type": "companies",
          "id": "2559"
        }
      },
      "service_type": {
        "data": {
          "type": "service_types",
          "id": "375"
        }
      },
      "rate_card": {
        "data": {
          "type": "rate_cards",
          "id": "3"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "4",
    "type": "prices",
    "attributes": {
      "name": "test name",
      "billing_type_id": null,
      "unit_id": 2,
      "quantity": "5.0",
      "updated_at": "2025-07-24T06:07:20.993+02:00",
      "description": null,
      "discount": null,
      "markup": null,
      "time_tracking_enabled": true,
      "booking_tracking_enabled": true,
      "expense_tracking_enabled": true,
      "editor_config": null,
      "budget_cap_enabled": false,
      "estimated_hours": null,
      "custom_fields": null,
      "currency": "USD",
      "currency_default": "USD",
      "currency_normalized": "USD",
      "rate": 100,
      "rate_default": 100,
      "rate_normalized": 100
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "979"
        }
      },
      "service_type": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "rate_card": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/prices

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": "prices",
    "attributes": {
      "name": ""
    }
  }
}
Responses422
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/company"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/unit_id"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/currency"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/rate_card"
      }
    }
  ]
}

POST  /api/v2/prices

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": "prices",
    "attributes": {
      "name": "test name",
      "unit_id": 2,
      "rate": 100,
      "currency": "USD",
      "quantity": 5
    },
    "relationships": {
      "company": {
        "data": {
          "type": "companies",
          "id": "2563"
        }
      },
      "service_type": {
        "data": {
          "type": "service_types",
          "id": "377"
        }
      },
      "rate_card": {
        "data": {
          "type": "rate cards",
          "id": "5"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "7",
    "type": "prices",
    "attributes": {
      "name": "test name",
      "billing_type_id": null,
      "unit_id": 2,
      "quantity": "5.0",
      "updated_at": "2025-07-24T06:07:21.108+02:00",
      "description": null,
      "discount": null,
      "markup": null,
      "time_tracking_enabled": true,
      "booking_tracking_enabled": true,
      "expense_tracking_enabled": true,
      "editor_config": null,
      "budget_cap_enabled": false,
      "estimated_hours": null,
      "custom_fields": null,
      "currency": "USD",
      "currency_default": "USD",
      "currency_normalized": "USD",
      "rate": 100,
      "rate_default": 100,
      "rate_normalized": 100
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "981"
        }
      },
      "service_type": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "rate_card": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/prices

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": "prices",
    "attributes": {
      "name": "test name",
      "unit_id": 2,
      "rate": 100,
      "currency": "USD",
      "quantity": 5
    },
    "relationships": {
      "company": {
        "data": {
          "type": "companies",
          "id": "2565"
        }
      },
      "service_type": {
        "data": {
          "type": "service_types",
          "id": "378"
        }
      },
      "rate_card": {
        "data": {
          "type": "rate cards",
          "id": "0"
        }
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "attribute is invalid",
      "source": {
        "pointer": "data/attributes/rate_card"
      }
    }
  ]
}

POST  /api/v2/prices

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": "prices",
    "attributes": {
      "name": "test name",
      "unit_id": 2,
      "rate": 100,
      "currency": "USD",
      "quantity": 5.12345
    },
    "relationships": {
      "company": {
        "data": {
          "type": "companies",
          "id": "2567"
        }
      },
      "service_type": {
        "data": {
          "type": "service_types",
          "id": "379"
        }
      },
      "rate_card": {
        "data": {
          "type": "rate_cards",
          "id": "7"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "10",
    "type": "prices",
    "attributes": {
      "name": "test name",
      "billing_type_id": null,
      "unit_id": 2,
      "quantity": "5.12",
      "updated_at": "2025-07-24T06:07:21.222+02:00",
      "description": null,
      "discount": null,
      "markup": null,
      "time_tracking_enabled": true,
      "booking_tracking_enabled": true,
      "expense_tracking_enabled": true,
      "editor_config": null,
      "budget_cap_enabled": false,
      "estimated_hours": null,
      "custom_fields": null,
      "currency": "USD",
      "currency_default": "USD",
      "currency_normalized": "USD",
      "rate": 100,
      "rate_default": 100,
      "rate_normalized": 100
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "983"
        }
      },
      "service_type": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "rate_card": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Create a price
POST/api/v2/prices

URI Parameters
HideShow
name
string (required) Example: Name

name

company_id
number (required) Example: 1

company id

service_type_id
number (required) Example: 1

service type id

unit_id
number (required) Example: 1

unit id

rate_card_id
number (required) Example: 1

rate card id

discount
decimal (optional) Example: 12.25

discount on the stated rate


PATCH /api/v2/prices/1
Requestsupdates pricereturns errorreturns errorreturns errorupdates priceupdates price

PATCH  /api/v2/prices/11

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": "prices",
    "attributes": {
      "name": "new name"
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "11",
    "type": "prices",
    "attributes": {
      "name": "new name",
      "billing_type_id": null,
      "unit_id": 2,
      "quantity": "5.0",
      "updated_at": "2025-07-24T06:07:21.274+02:00",
      "description": null,
      "discount": null,
      "markup": null,
      "time_tracking_enabled": true,
      "booking_tracking_enabled": true,
      "expense_tracking_enabled": true,
      "editor_config": {},
      "budget_cap_enabled": false,
      "estimated_hours": null,
      "custom_fields": null,
      "currency": "USD",
      "currency_default": "USD",
      "currency_normalized": "USD",
      "rate": 10000,
      "rate_default": 10000,
      "rate_normalized": 10000
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "984"
        }
      },
      "service_type": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "rate_card": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/prices/12

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": "prices",
    "attributes": {
      "name": ""
    },
    "relationships": {
      "company": {
        "data": {
          "type": "companies",
          "id": "0"
        }
      }
    }
  }
}
Responses422
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"
      }
    }
  ]
}

PATCH  /api/v2/prices/13

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": "prices",
    "attributes": {
      "name": ""
    },
    "relationships": {
      "service_type": {
        "data": {
          "type": "service_types",
          "id": "0"
        }
      }
    }
  }
}
Responses422
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"
      }
    }
  ]
}

PATCH  /api/v2/prices/14

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": "prices",
    "attributes": {
      "name": ""
    }
  }
}
Responses422
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"
      }
    }
  ]
}

PATCH  /api/v2/prices/15

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": "prices",
    "attributes": {
      "name": "new name"
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "15",
    "type": "prices",
    "attributes": {
      "name": "new name",
      "billing_type_id": null,
      "unit_id": 2,
      "quantity": "5.12345",
      "updated_at": "2025-07-24T06:07:21.536+02:00",
      "description": null,
      "discount": null,
      "markup": null,
      "time_tracking_enabled": true,
      "booking_tracking_enabled": true,
      "expense_tracking_enabled": true,
      "editor_config": {},
      "budget_cap_enabled": false,
      "estimated_hours": null,
      "custom_fields": null,
      "currency": "USD",
      "currency_default": "USD",
      "currency_normalized": "USD",
      "rate": 10000,
      "rate_default": 10000,
      "rate_normalized": 10000
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "988"
        }
      },
      "service_type": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "rate_card": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/prices/16

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": "prices",
    "attributes": {
      "name": "new name",
      "quantity": 2.12345
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "16",
    "type": "prices",
    "attributes": {
      "name": "new name",
      "billing_type_id": null,
      "unit_id": 2,
      "quantity": "2.12",
      "updated_at": "2025-07-24T06:07:21.598+02:00",
      "description": null,
      "discount": null,
      "markup": null,
      "time_tracking_enabled": true,
      "booking_tracking_enabled": true,
      "expense_tracking_enabled": true,
      "editor_config": {},
      "budget_cap_enabled": false,
      "estimated_hours": null,
      "custom_fields": null,
      "currency": "USD",
      "currency_default": "USD",
      "currency_normalized": "USD",
      "rate": 10000,
      "rate_default": 10000,
      "rate_normalized": 10000
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "989"
        }
      },
      "service_type": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "rate_card": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Update a price
PATCH/api/v2/prices/{id}

URI Parameters
HideShow
id
number (required) Example: 1

price id


DELETE /api/v2/prices/1
Requestsarchives price

DELETE  /api/v2/prices/17

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
Responses204
This response has no content.

Deletes a price
DELETE/api/v2/prices/{id}

URI Parameters
HideShow
id
number (required) Example: 1

price id


Generated by aglio on 24 Jul 2025