Fee Schedules
A fee schedule defines the billing timing, interval, and period. A fee schedule is associated with at least one fee. You can use the Fee Schedules API to retrieve, create, edit, and delete fee schedules and their relationships with fees.
| Base route | /v1/fee_schedules |
| Endpoints | GET /v1/fee_schedules /v1/fee_schedules/:id /v1/fee_schedules/:id/relationships/fees /v1/fee_schedules/:id/fees POST /v1/fee_schedules /v1/fee_schedules/:id/relationships/fees PUT /v1/fee_schedules /v1/fee_schedules/:id /v1/fee_schedules/:id/relationships/fees DELETE /v1/fee_schedules /v1/fee_schedules/:id /v1/fee_schedules/:id/relationships/fees |
| Produces | JSON |
| Pagination | Yes |
| Application permissions required | GET "View-only access to Billing" POST, PATCH, and DELETE "Run and manage bills, include fee adjustment and payment tracking" or "Full access to Billing and billing data" |
| OAuth scopes | GETBILLING_READPOST, PATCH, and DELETE BILLING_WRITE |
Resource overview
| Attribute | Description | Example | Required | Accepted Values |
|---|---|---|---|---|
name | Arbitrary string | Fee schedule name | Yes | Any alphanumeric string |
description | Optional arbitrary string | Quarterly Fee Schedule for client X | No | Any alphanumeric string |
currency | String, must be a valid currency code | USD | Yes | USD, EUR,GPB, etc |
interval | String indicating the frequency at which the portfolio is billed | QUARTERLY | Yes | MONTHLY, QUARTERLY, SEMIANNUALLY, ANNUALLY |
billing_period_cycle_start_month | integer representing the cycle start month from 1 to 12. This value is to be interpreted as an offset, and valid values change based on the interval, as follows:- MONTHLY: 1- QUARTERLY: 1-3- SEMIANNUALLY: 1-6- ANNUALLY: 1-12 | 10 | Yes | 1-12 |
timing | String indicating the billing timing | IN_ARREARS | Yes | IN_ARREARS, IN_ADVANCE |
minimum_fee | positive numeric value, must be less than maximum_fee | 1000 | No | all positive numbers less than 1000000000000000 |
maximum_fee | positive numeric value | 10000 | No | less than 1000000000000000 |
rounding | String indicating the rounding strategy. HALF_EVEN indicates Banker's rounding. For values of exactly .5, banker's rounding will be applied, where they will be rounded to the nearest even number | HALF_EVEN | Yes | NONE, USE_FIRM_DEFAULT, HALF_EVEN |
relationship.fees | at least one fee must be associated by id when creating or editing a fee schedule | "data": [{ "type": "fees", "id": "1" }] | Yes | "data": [{ "type": "fees", "id": "{fee_id}" }] |
Get all fee schedules
Retrieves all fee schedules.
This API provides pagination. The following query parameters are available:
page[limit](max: 500) to set the page size- and
page[cursor]query parameters for pagination. The response includeslinks.nextfor the next page andmeta.page.totalfor the total count.
Append ?include=fees to include associated fees in the response.
GET /v1/fee_schedules
Example:
GET https://examplefirm.addepar.com/api/v1/fee_schedules
HTTP/1.1 200
{
"meta": {
"page": {
"total": 10,
"offset": 0,
"limit": 500,
"cursor": null
}
},
"data": [
{
"id": "6",
"type": "fee_schedules",
"attributes": {
"billing_period_cycle_start_month": 1,
"timing": "IN_ARREARS",
"name": "Name 1",
"minimum_fee": 100.0,
"maximum_fee": 100.0,
"rounding": "USE_FIRM_DEFAULT",
"currency": "USD",
"interval": "MONTHLY",
"last_modified": "2023-12-28T22:42:00Z"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "3"
}
]
}
},
"links": {
"self": "/v1/fee_schedules/6"
}
},
{
"id": "5",
"type": "fee_schedules",
"attributes": {
"billing_period_cycle_start_month": 1,
"timing": "IN_ARREARS",
"name": "Name 2",
"minimum_fee": 0.0,
"description": "Description 2",
"rounding": "USE_FIRM_DEFAULT",
"currency": "UAH",
"interval": "MONTHLY",
"last_modified": "2021-02-17T04:21:55Z"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
},
"links": {
"self": "/v1/fee_schedules/5"
}
},
{
"id": "7",
"type": "fee_schedules",
"attributes": {
"billing_period_cycle_start_month": 1,
"timing": "IN_ADVANCE",
"name": "Name 3",
"rounding": "USE_FIRM_DEFAULT",
"currency": "USD",
"interval": "QUARTERLY",
"last_modified": "2024-07-16T18:38:56Z"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "3"
}
]
}
},
"links": {
"self": "/v1/fee_schedules/7"
}
},
{
"id": "4",
"type": "fee_schedules",
"attributes": {
"billing_period_cycle_start_month": 1,
"timing": "IN_ADVANCE",
"name": "Name 4",
"minimum_fee": 33.0,
"description": "Description 4",
"rounding": "USE_FIRM_DEFAULT",
"currency": "USD",
"interval": "QUARTERLY",
"last_modified": "2021-02-17T04:20:44Z"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "2"
},
{
"type": "fees",
"id": "3"
}
]
}
},
"links": {
"self": "/v1/fee_schedules/4"
}
},
{
"id": "3",
"type": "fee_schedules",
"attributes": {
"billing_period_cycle_start_month": 1,
"timing": "IN_ARREARS",
"name": "Name 5",
"description": "Description 5",
"rounding": "USE_FIRM_DEFAULT",
"currency": "USD",
"interval": "QUARTERLY",
"last_modified": "2021-02-17T04:19:03Z"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "2"
}
]
}
},
"links": {
"self": "/v1/fee_schedules/3"
}
},
{
"id": "10",
"type": "fee_schedules",
"attributes": {
"billing_period_cycle_start_month": 1,
"timing": "IN_ADVANCE",
"name": "Name 6",
"minimum_fee": 500.0,
"description": "Description 6",
"maximum_fee": 10000.0,
"rounding": "NONE",
"currency": "USD",
"interval": "QUARTERLY",
"last_modified": "2026-04-06T11:52:51Z"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
},
"links": {
"self": "/v1/fee_schedules/10"
}
},
{
"id": "8",
"type": "fee_schedules",
"attributes": {
"billing_period_cycle_start_month": 1,
"timing": "IN_ADVANCE",
"name": "Name 7",
"minimum_fee": 500.0,
"description": "Description 7",
"maximum_fee": 10000.0,
"rounding": "NONE",
"currency": "USD",
"interval": "QUARTERLY",
"last_modified": "2026-04-06T10:57:41Z"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
},
"links": {
"self": "/v1/fee_schedules/8"
}
},
{
"id": "9",
"type": "fee_schedules",
"attributes": {
"billing_period_cycle_start_month": 1,
"timing": "IN_ADVANCE",
"name": "Name 8",
"minimum_fee": 500.0,
"description": "Description 8",
"maximum_fee": 10000.0,
"rounding": "NONE",
"currency": "USD",
"interval": "QUARTERLY",
"last_modified": "2026-04-06T11:06:16Z"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
},
"links": {
"self": "/v1/fee_schedules/9"
}
},
{
"id": "1",
"type": "fee_schedules",
"attributes": {
"billing_period_cycle_start_month": 1,
"timing": "IN_ADVANCE",
"name": "Name 9",
"minimum_fee": 500.0,
"description": "Description 9",
"maximum_fee": 10000.0,
"rounding": "NONE",
"currency": "USD",
"interval": "QUARTERLY",
"last_modified": "2026-04-06T12:37:40Z"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "2"
},
{
"type": "fees",
"id": "3"
}
]
}
},
"links": {
"self": "/v1/fee_schedules/1"
}
},
{
"id": "2",
"type": "fee_schedules",
"attributes": {
"billing_period_cycle_start_month": 1,
"timing": "IN_ARREARS",
"name": "Name 10",
"minimum_fee": 1000.0,
"description": "Description 10",
"maximum_fee": 50000.0,
"rounding": "HALF_EVEN",
"currency": "GBP",
"interval": "ANNUALLY",
"last_modified": "2026-04-06T12:35:30Z"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "2"
}
]
}
},
"links": {
"self": "/v1/fee_schedules/2"
}
}
],
"included": [],
"links": {
"prev": null,
"next": null
}
}
Responses
200 OK401 Unauthorized: Missing or invalid authentication403 Forbidden: User lacks sufficient application permissions
Get fee schedule by ID
Retrieves a fee schedule by ID.
Append ?include=fees to include associated fees in the response.
GET /v1/fee_schedules/:fee_schedule_id
Example:
GET https://examplefirm.addepar.com/api/v1/fee_schedules/1
HTTP/1.1 200
{
"data": {
"id": "1",
"type": "fee_schedules",
"attributes": {
"billing_period_cycle_start_month": 1,
"timing": "IN_ADVANCE",
"name": "Name 1",
"minimum_fee": 500.0,
"description": "Description 1",
"maximum_fee": 10000.0,
"rounding": "NONE",
"currency": "USD",
"interval": "QUARTERLY",
"last_modified": "2026-04-06T12:37:40Z"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "2"
},
{
"type": "fees",
"id": "3"
}
]
}
},
"links": {
"self": "/v1/fee_schedules/1"
}
},
"included": []
}
Responses
200 OK401 Unauthorized: Missing or invalid authentication403 Forbidden: User lacks sufficient application permissions404 Not Found: The requested fee_schedules was not found
Get fee relationships by fee schedule ID
Retrieves the fee relationships by fee schedule ID.
GET /v1/fee_schedules/:fee_schedule_id/relationships/fees
Example:
GET https://examplefirm.addepar.com/api/v1/fee_schedules/1/relationships/fees
HTTP/1.1 200
{
"data": [
{
"id": "2",
"type": "fees"
},
{
"id": "3",
"type": "fees"
}
]
}
Responses
200 OK401 Unauthorized: Missing or invalid authentication403 Forbidden: User lacks sufficient application permissions404 Not Found: The requested fee_schedules was not found
Get fees by fee schedule ID
Retrieves fees associated to a fee schedule by fee schedule ID.
GET /v1/fee_schedules/:fee_schedule_id/fees
Example:
GET https://examplefirm.addepar.com/api/v1/fee_schedules/1/fees
HTTP/1.1 200
{
"data": [
{
"id": "1",
"type": "fees",
"attributes": {
"scaling": "DAYS_IN_PERIOD",
"rate_tiers": [
{
"id": 1,
"rate": 0.015,
"lower_bound": 0
}
],
"margin_handling_method": "USE_VALUE",
"rate_calculation": "MARGINAL",
"name": "Fee name",
"description": "Fee description",
"asset_valuation": {
"method": "AVERAGE_DAILY",
"adjustment_type": "ADJUSTED_VALUE",
"accrual_type": "NONE"
},
"fee_structure": "AUM",
"scaling_for_average_asset_valuation": "AVERAGE_ACROSS_ENTIRE_PERIOD",
"advance_adjustment": {
"rate_type": "TOP",
"accounts_to_evaluate": "ALL_ACCOUNTS"
},
"proration": {
"new_and_closed_accounts": {
"method": "NET",
"threshold": {
"monetary_value": 0,
"percentage": 0
},
"rate_calculation": "TOP_WITH_MARGINAL_ON_OPEN_CLOSE"
},
"existing_accounts": {
"method": "NET",
"threshold": {
"monetary_value": 0,
"percentage": 0
},
"rate_calculation": "TOP"
}
},
"rate_asset_valuation": "ASSETS_BILLED_ON"
},
"relationships": {
"fee_schedules": {
"links": {
"self": "/v1/fees/1/relationships/fee_schedules",
"related": "/v1/fees/1/fee_schedules"
},
"data": [
{
"type": "fee_schedules",
"id": "1"
},
{
"type": "fee_schedules",
"id": "5"
},
{
"type": "fee_schedules",
"id": "8"
},
{
"type": "fee_schedules",
"id": "9"
},
{
"type": "fee_schedules",
"id": "10"
}
]
}
},
"links": {
"self": "/v1/fees/1"
}
}
],
"included": [],
"links": {
"prev": null,
"next": null
}
}
Responses
200 OK401 Unauthorized: Missing or invalid authentication403 Forbidden: User lacks sufficient application permissions404 Not Found: The requested fee_schedules was not found
Create fee schedules
Creates all fee schedules passed in the request body as a list. In case of error, none of the fee schedule are created.
POST /v1/fee_schedules
Example:
POST https://examplefirm.addepar.com/api/v1/fee_schedules
{
"data": [
{
"type": "fee_schedules",
"attributes": {
"name": "Quarterly Fee Schedule",
"description": "Fee schedule",
"currency": "USD",
"interval": "Quarterly",
"billing_period_cycle_start_month": 1,
"timing": "In_Advance",
"minimum_fee": 500.00,
"maximum_fee": 10000.00,
"rounding": "None"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
}
},
{
"type": "fee_schedules",
"attributes": {
"name": "Monthly Fee Schedule",
"description": "Fee schedule",
"currency": "GBP",
"interval": "Monthly",
"billing_period_cycle_start_month": 1.0,
"timing": "In_Arrears",
"minimum_fee": 100.00,
"maximum_fee": 5000.00,
"rounding": "Half_Even"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "2"
},
{
"type": "fees",
"id": "3"
}
]
}
}
},
{
"type": "fee_schedules",
"attributes": {
"name": "Annual Fee Schedule",
"description": "Fee schedule",
"currency": "EUR",
"interval": "Annually",
"billing_period_cycle_start_month": 1,
"timing": "In_Advance",
"rounding": "Use_Firm_Default"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
}
}
]
}
HTTP/1.1 201
{
"data": [
{
"id": "10",
"type": "fee_schedules",
"links": {
"self": "/v1/fee_schedules/10"
}
},
{
"id": "11",
"type": "fee_schedules",
"links": {
"self": "/v1/fee_schedules/11"
}
},
{
"id": "12",
"type": "fee_schedules",
"links": {
"self": "/v1/fee_schedules/12"
}
}
]
}
Responses
201 Created401 Unauthorized: Missing or invalid authentication403 Forbidden: User lacks sufficient application permissions400 Bad Request- Indicates an invalid request body, with a reason specified in the error message
- All the validation errors causing a 400 Bad Request are listed in the
Validation Errorssection
Associate fees to fee schedules
Associates the fees with the IDs specified in the request body to the fee schedule with the specified ID in the URL.
As per example, the request body is expected to contain only the object type, in this case fees and the fee id.
It returns all the fees associated to the specified fee schedule.
POST /v1/fee_schedules/:fee_schedule_id/relationships/fees
Example:
POST https://examplefirm.addepar.com/api/v1/fee_schedules/1/relationships/fees
{
"data": [
{
"type": "fees",
"id": "2"
},
{
"type": "fees",
"id": "3"
}
]
}
HTTP/1.1 201
{
"data": [
{
"id": "1",
"type": "fees"
},
{
"id": "2",
"type": "fees"
},
{
"id": "3",
"type": "fees"
}
]
}
Responses
201 Created400 Bad Request: Indicates an invalid request body, with a reason specified in the error message401 Unauthorized: Missing or invalid authentication403 Forbidden: User lacks sufficient application permissions404 Not Found- The requested fee_schedules was not found
- The requested fee with id [ID] was not found
Edit fee schedule
Edits a fee schedule. The fee schedule in the request body will fully replace the current version, including fee relationships.
PUT /v1/fee_schedules/:fee_schedule_id
Example:
PUT https://examplefirm.addepar.com/api/v1/fee_schedules/1
{
"data": {
"type": "fee_schedules",
"id": "1",
"attributes": {
"name": "Updated Fee Schedule",
"description": "Updated description",
"currency": "USD",
"interval": "Monthly",
"billing_period_cycle_start_month": 1,
"timing": "In_Arrears",
"minimum_fee": 1000.00,
"maximum_fee": 20000.00,
"rounding": "Half_Even"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
}
}
}
HTTP/1.1 200
{
"data": [
{
"id": "1",
"type": "fee_schedules",
"links": {
"self": "/v1/fee_schedules/1"
}
}
]
}
Responses
200 OK400 Bad Request- Indicates an invalid request body, with a reason specified in the error message
- All the validation errors causing a 400 Bad Request are listed in the
Validation Errorssection
401 Unauthorized: Missing or invalid authentication403 Forbidden: User lacks sufficient application permissions404 Not Found: The requested fee_schedules was not found
Edit fee schedules
Edits a list of fee schedules. In case of errors, none of the fee schedules in the list are updated.
The fee schedules in the request body will fully replace the current versions, including fee relationships.
PUT /v1/fee_schedules
Example:
PUT https://examplefirm.addepar.com/api/v1/fee_schedules
{
"data": [
{
"type": "fee_schedules",
"id": "1",
"attributes": {
"name": "Fee schedule name 1",
"description": "First update",
"currency": "USD",
"interval": "Quarterly",
"billing_period_cycle_start_month": 1,
"timing": "In_Advance",
"minimum_fee": 500.00,
"maximum_fee": 10000.00,
"rounding": "None"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
}
},
{
"type": "fee_schedules",
"id": "2",
"attributes": {
"name": "Fee schedule name 2",
"description": "Second update",
"currency": "GBP",
"interval": "Annually",
"billing_period_cycle_start_month": 1,
"timing": "In_Arrears",
"minimum_fee": 1000.00,
"maximum_fee": 50000.00,
"rounding": "Half_Even"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "2"
}
]
}
}
}
]
}
HTTP/1.1 200
{
"data": [
{
"id": "1",
"type": "fee_schedules",
"links": {
"self": "/v1/fee_schedules/1"
}
},
{
"id": "2",
"type": "fee_schedules",
"links": {
"self": "/v1/fee_schedules/2"
}
}
]
}
Responses
200 OK400 Bad Request- Indicates an invalid request body, with a reason specified in the error message
- All the validation errors causing a 400 Bad Request are listed in the
Validation Errorssection
401 Unauthorized: Missing or invalid authentication403 Forbidden: User lacks sufficient application permissions404 Not Found: The requested fee_schedules was not found
Replace fees associated with fee schedule
Replaces the entire list of fees associated with a fee schedule.
PUT /v1/fee_schedules/:fee_schedule_id/relationships/fees
Example:
PUT https://examplefirm.addepar.com/api/v1/fee_schedules/1/relationships/fees
{
"data": [
{
"type": "fees",
"id": "2"
},
{
"type": "fees",
"id": "3"
}
]
}
HTTP/1.1 200
{
"data": [
{
"id": "2",
"type": "fees"
},
{
"id": "3",
"type": "fees"
}
]
}
Responses
200 OK400 Bad Request- Indicates an invalid request body, with a reason specified in the error message
401 Unauthorized: Missing or invalid authentication403 Forbidden: User lacks sufficient application permissions404 Not Found- The requested fee_schedules was not found
- The requested fee with id [ID] was not found
Delete fee schedules
Deletes a list of fee schedules. In case of error, none of the fee schedules are deleted.
DELETE /v1/fee_schedules
Example:
DELETE https://examplefirm.addepar.com/api/v1/fee_schedules
{
"data": [
{
"type": "fee_schedules",
"id": "11"
},
{
"type": "fee_schedules",
"id": "12"
}
]
}
HTTP/1.1 204
Responses
204 No Content400 Bad Request- Indicates an invalid request body, with a reason specified in the error message
401 Unauthorized: Missing or invalid authentication403 Forbidden: User lacks sufficient application permissions404 Not Found: The requested fee_schedules was not found
Delete fee schedule by ID
Deletes a fee schedule.
DELETE /v1/fee_schedules/:fee_schedule_id
Example:
DELETE https://examplefirm.addepar.com/api/v1/fee_schedules/1
HTTP/1.1 204
Responses
204 No Content401 Unauthorized: Missing or invalid authentication403 Forbidden: User lacks sufficient application permissions404 Not Found: The requested fee_schedules with id [ID] was not found
Delete fee association with fee schedule
Removes all associations with fees for the fee schedule.
DELETE /v1/fee_schedules/:fee_schedule_id/relationships/fees
Example:
DELETE https://examplefirm.addepar.com/api/v1/fee_schedules/1/relationships/fees
HTTP/1.1 204
Responses
204 No Content401 Unauthorized: Missing or invalid authentication403 Forbidden: User lacks sufficient application permissions404 Not Found:- The requested fee with id [ID] was not found
- The requested fee_schedules was not found
Validation errors
409 Conflict
IDs do not match
Returned, when applicable, if the fee schedule ID in the URL and the body aren't matching.
Example:
HTTP/1.1 409
{
"errors": [
{
"status": "409",
"title": "Conflict",
"detail": "IDs do not match."
}
]
}
PUT https://examplefirm.addepar.com/api/v1/fee_schedules/1/relationships/fees
{
"data": {
"type": "fee_schedules",
"id": "2",
"attributes": {
"name": "Updated Fee Schedule",
"description": "Updated description",
"currency": "USD",
"interval": "Monthly",
"billing_period_cycle_start_month": 1,
"timing": "In_Arrears",
"minimum_fee": 1000.00,
"maximum_fee": 20000.00,
"rounding": "Half_Even"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
}
}
}
Schedule name already exists
Returned when using an already existing name while creating or editing a fee schedule.
Example
HTTP/1.1 409
{
"errors": [
{
"status": "409",
"title": "Conflict",
"detail": "Schedule name already exists: Test Fee Schedule"
}
]
}
POST https://examplefirm.addepar.com/api/v1/fee_schedules
{
"data": {
"type": "fee_schedules",
"attributes": {
"name": "Fee Schedule 1",
"description": "Fee schedule description",
"currency": "USD",
"interval": "Quarterly",
"billing_period_cycle_start_month": 1,
"timing": "In_Advance",
"minimum_fee": 500.00,
"maximum_fee": 10000.00,
"rounding": "None"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
}
}
}
All types in a given relationship should be identical
Returned when the API accepts a list of objects and they have different types.
Example
HTTP/1.1 409
{
"errors": [
{
"status": "409",
"title": "Conflict",
"detail": "All types in a given relationship should be identical"
}
]
}
DELETE https://examplefirm.addepar.com/api/v1/fee_schedules
{
"data": [
{
"type": "different_type",
"id": "11"
},
{
"type": "fee_schedules",
"id": "12"
}
]
}
type must be fees
Returned for fees relationships APIs, when another type is consistently used across the request instead of fees
Example
HTTP/1.1 409
{
"errors": [
{
"status": "409",
"title": "Conflict",
"detail": "type must be fees"
}
]
}
POST https://examplefirm.addepar.com/api/v1/fee_schedules/1/relationships/fees
{
"data": [
{
"type": "fees_",
"id": "2"
},
{
"type": "fees_",
"id": "3"
}
]
}
type must be fee_schedules
Returned when another type is used instead of the expected fee_schedules
Example
HTTP/1.1 409
{
"errors": [
{
"status": "409",
"title": "Conflict",
"detail": "type must be fee_schedules"
}
]
}
DELETE https://examplefirm.addepar.com/api/v1/fee_schedules
{
"data": [
{
"type": "different_type",
"id": "11"
},
{
"type": "different_type",
"id": "12"
}
]
}
400 Bad Request
POST/PUT requires the following parameters
Returned when one of more of the following required parameter is missing:name, currency, interval, billing_period_cycle_start_month, timing, fees (at least one fee must be associated with the fee schedule).
Example
HTTP/1.1 400
{
"errors": [
{
"id": "ba68f076-836e-40ee-b674-2ca73d3bb908",
"status": "400",
"title": "Bad Request",
"detail": "POST requires the following attribute(s): [interval]"
}
]
}
POST https://examplefirm.addepar.com/api/v1/fee_schedules
{
"data": {
"type": "fee_schedules",
"attributes": {
"name": "Fee Schedule 1",
"description": "Fee schedule description",
"currency": "USD",
//"interval": "Quarterly",
"billing_period_cycle_start_month": 1,
"timing": "In_Advance",
"minimum_fee": 500.00,
"maximum_fee": 10000.00,
"rounding": "None"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
}
}
}
The following keys do not link to valid attribute(s)
Returned when one of more invalid attributes are present in the request body.
Example
HTTP/1.1 400
{
"errors": [
{
"id": "5a11b4fe-922e-4a60-b1e9-bb124b47b71e",
"status": "400",
"title": "Bad Request",
"detail": "The following keys do not link to valid attribute(s): [invalid_key_2, invalid_key_1]"
}
]
}
POST https://examplefirm.addepar.com/api/v1/fee_schedules
{
"data": {
"type": "fee_schedules",
"attributes": {
"invalid_key_1": "",
"invalid_key_2": "",
"name": "Fee Schedule 1",
"description": "Fee schedule description",
"currency": "USD",
"interval": "Quarterly",
"billing_period_cycle_start_month": 1,
"timing": "In_Advance",
"minimum_fee": 500.00,
"maximum_fee": 10000.00,
"rounding": "None"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
}
}
}
Missing data field
Returned for missing data field in the request body.
Example
HTTP/1.1 400
{
"errors": [
{
"status": "400",
"title": "Bad Request",
"detail": "Missing data field"
}
]
}
POST https://examplefirm.addepar.com/api/v1/fee_schedules
{}
The following attribute(s) contain invalid values
Returned when a key is given an invalid value in the request body.
Example
HTTP/1.1 400
{
"errors": [
{
"id": "6e6800f7-08b9-4570-983d-0e76b89596a7",
"status": "400",
"title": "Bad Request",
"detail": "The following attribute(s) contain invalid values: [billing_period_cycle_start_month]"
}
]
}
POST https://examplefirm.addepar.com/api/v1/fee_schedules
{
"data": {
"type": "fee_schedules",
"attributes": {
"name": "Fee Schedule 1",
"description": "Fee schedule description",
"currency": "USD",
"interval": "Quarterly",
"billing_period_cycle_start_month": "invalid value",
"timing": "In_Advance",
"minimum_fee": 500.00,
"maximum_fee": 10000.00,
"rounding": "None"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
}
}
}
Minimum fee cannot exceed maximum fee
Returned when minimum_fee is greater than maximum_fee.
Example
HTTP/1.1 400
{
"errors": [
{
"status": "400",
"title": "Bad Request",
"detail": "Minimum fee cannot exceed maximum fee"
}
]
}
POST https://examplefirm.addepar.com/api/v1/fee_schedules
{
"data": {
"type": "fee_schedules",
"attributes": {
"name": "Fee Schedule 1",
"description": "Fee schedule descriptionn",
"currency": "USD",
"interval": "Quarterly",
"billing_period_cycle_start_month": 1,
"timing": "In_Advance",
"minimum_fee": 1200.00,
"maximum_fee": 100.00,
"rounding": "None"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
}
}
}
Minimum fee must be greater than 0
Returned when minimum_fee is less or equal to 0
Example
HTTP/1.1 400
{
"errors": [
{
"status": "400",
"title": "Bad Request",
"detail": "Minimum fee must be greater than 0"
}
]
}
POST https://examplefirm.addepar.com/api/v1/fee_schedules
{
"data": {
"type": "fee_schedules",
"attributes": {
"name": "Test Fee Schedule",
"description": "Testing via Postman",
"currency": "USD",
"interval": "Quarterly",
"billing_period_cycle_start_month": 1,
"timing": "In_Advance",
"minimum_fee": 0.00,
"maximum_fee": 100.00,
"rounding": "None"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
}
}
}
Maximum fee must be greater than 0
Returned when maximum_fee is less or equal to 0
Example
HTTP/1.1 400
{
"errors": [
{
"status": "400",
"title": "Bad Request",
"detail": "Maximum fee must be greater than 0"
}
]
}
POST https://examplefirm.addepar.com/api/v1/fee_schedules
{
"data": {
"type": "fee_schedules",
"attributes": {
"name": "Fee Schedule 1",
"description": "Fee schedule description",
"currency": "USD",
"interval": "Quarterly",
"billing_period_cycle_start_month": 1,
"timing": "In_Advance",
"minimum_fee": 10.00,
"maximum_fee": 0.00,
"rounding": "None"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
}
}
}
Maximum fee must be less than 1000000000000000
Returned when maximum fee greater than 1000000000000000. Applies also to minimum_fee.
Example
HTTP/1.1 400
{
"errors": [
{
"status": "400",
"title": "Bad Request",
"detail": "Maximum fee must be less than 1000000000000000"
}
]
}
POST https://examplefirm.addepar.com/api/v1/fee_schedules
{
"data": {
"type": "fee_schedules",
"attributes": {
"name": "Fee Schedule 3",
"description": "Fee schedule description",
"currency": "USD",
"interval": "Quarterly",
"billing_period_cycle_start_month": 1,
"timing": "In_Advance",
"minimum_fee": 100.00,
"maximum_fee": 2.0e15,
"rounding": "None"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
}
}
}
Cycle Start Month is invalid for this interval
Returned when the billing_period_cycle_start_monthisn't compatible with the interval.
Example
HTTP/1.1 400
{
"errors": [
{
"status": "400",
"title": "Bad Request",
"detail": "Cycle Start Month is invalid for this interval: 3"
}
]
}
POST https://examplefirm.addepar.com/api/v1/fee_schedules
{
"data": {
"type": "fee_schedules",
"attributes": {
"name": "Test Fee Schedule 3",
"description": "Fee schedule description",
"currency": "USD",
"interval": "Monthly",
"billing_period_cycle_start_month": 3,
"timing": "In_Advance",
"minimum_fee": 100.00,
"maximum_fee": 1000,
"rounding": "None"
},
"relationships": {
"fees": {
"data": [
{
"type": "fees",
"id": "1"
}
]
}
}
}
}
Updated 3 days ago