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
EndpointsGET
/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
ProducesJSON
PaginationYes
Application permissions requiredGET
"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 scopesGET
BILLING_READ

POST, PATCH, and DELETE
BILLING_WRITE

Resource overview

AttributeDescriptionExampleRequiredAccepted Values
nameArbitrary stringFee schedule nameYesAny alphanumeric string
descriptionOptional arbitrary stringQuarterly Fee Schedule for client XNoAny alphanumeric string
currencyString, must be a valid currency codeUSDYesUSD, EUR,GPB, etc
intervalString indicating the frequency at which the portfolio is billedQUARTERLYYesMONTHLY, QUARTERLY, SEMIANNUALLY, ANNUALLY
billing_period_cycle_start_monthinteger 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
10Yes1-12
timingString indicating the billing timing IN_ARREARSYesIN_ARREARS, IN_ADVANCE
minimum_feepositive numeric value, must be less than maximum_fee1000Noall positive numbers less than 1000000000000000
maximum_feepositive numeric value 10000Noless than 1000000000000000
roundingString 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 numberHALF_EVENYesNONE, USE_FIRM_DEFAULT, HALF_EVEN
relationship.feesat 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 includes links.next for the next page and meta.page.total for 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 OK
  • 401 Unauthorized: Missing or invalid authentication
  • 403 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 OK
  • 401 Unauthorized: Missing or invalid authentication
  • 403 Forbidden: User lacks sufficient application permissions
  • 404 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 OK
  • 401 Unauthorized: Missing or invalid authentication
  • 403 Forbidden: User lacks sufficient application permissions
  • 404 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 OK
  • 401 Unauthorized: Missing or invalid authentication
  • 403 Forbidden: User lacks sufficient application permissions
  • 404 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 Created
  • 401 Unauthorized: Missing or invalid authentication
  • 403 Forbidden: User lacks sufficient application permissions
  • 400 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 Errors section

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 Created
  • 400 Bad Request: Indicates an invalid request body, with a reason specified in the error message
  • 401 Unauthorized: Missing or invalid authentication
  • 403 Forbidden: User lacks sufficient application permissions
  • 404 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 OK
  • 400 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 Errors section
  • 401 Unauthorized: Missing or invalid authentication
  • 403 Forbidden: User lacks sufficient application permissions
  • 404 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 OK
  • 400 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 Errors section
  • 401 Unauthorized: Missing or invalid authentication
  • 403 Forbidden: User lacks sufficient application permissions
  • 404 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 OK
  • 400 Bad Request
    • Indicates an invalid request body, with a reason specified in the error message
  • 401 Unauthorized: Missing or invalid authentication
  • 403 Forbidden: User lacks sufficient application permissions
  • 404 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 Content
  • 400 Bad Request
    • Indicates an invalid request body, with a reason specified in the error message
  • 401 Unauthorized: Missing or invalid authentication
  • 403 Forbidden: User lacks sufficient application permissions
  • 404 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 Content
  • 401 Unauthorized: Missing or invalid authentication
  • 403 Forbidden: User lacks sufficient application permissions
  • 404 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 Content
  • 401 Unauthorized: Missing or invalid authentication
  • 403 Forbidden: User lacks sufficient application permissions
  • 404 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"
            }
          ]
        }                                                                                      
      }                                                                                      
    }
  }