# Create contribution **POST /api/v2/household/{HouseholdGUID}/pensions/{PensionGUID}/contributions** This endpoint allows users to create a new pension contribution. ## Servers - https://api.fincalc.co.uk: https://api.fincalc.co.uk () ## Authentication methods - Bearer auth ## Parameters ### Path parameters - **HouseholdGUID** (string(uuid)) The HouseholdGUID of the client. - **PensionGUID** (string(uuid)) The PensionGUID you want to create a contribution for. Should only be linked to PensionGUID which has PensionType = 2 or 3. ### Body: application/json (object) - **TransactionType** (integer) TransactionType must be 1. To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/pensions/contributions/options - **TransactionAmount** (number(float) | null) This field is required if: For pension type 2: If TransactionPercentage, EmployerAmount and EmployerPercentage all = 0 or NULL. Needs to be greater than 0. For pension type 3: The pension does not have a linked income. Needs to be greater than 0. The pension has a linked income but TransactionPercentage, EmployerAmount and EmployerPercentage all = 0 or NULL. Needs to be greater than 0. - **TransactionPercentage** (number(float) | null) This field is required if: For pension type 2: If TransactionAmount, EmployerAmount and EmployerPercentage all = 0 or NULL. Needs to be greater than 0. For pension type 3: The pension has a linked income but TransactionAmount, EmployerAmount and EmployerPercentage all = 0 or NULL. Needs to be greater than 0. - **LinkedIncomeGUID** (string(uuid) | null) The LinkedIncomeGUID can only be added or updated for pension contributions when the PensionType is equal to 3. Additionally, the LinkedIncomeGUID must reference an income with an IncomeType of 1 and must share the same owner as the associated pension. To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/pensions/contributions/options - **LinkedSavingsGUID** (string(uuid) | null) To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/pensions/contributions/options - **ContributionMethod** (integer | null) To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/pensions/contributions/options - **EmployerAmount** (number(float) | null) This field is required if: For pension type 2: If TransactionAmount, TransactionPercentage and EmployerPercentage all = 0 or NULL. Needs to be greater than 0. For pension type 3: The pension has a linked income but TransactionAmount, TransactionPercentage and EmployerPercentage all = 0 or NULL. Needs to be greater than 0. - **EmployerPercentage** (number(float) | null) This field is required if: For pension type 2: If TransactionAmount, TransactionPercentage and EmployerAmount all = 0 or NULL. Needs to be greater than 0. For pension type 3: The pension has a linked income but TransactionAmount, TransactionPercentage and EmployerAmount all = 0 or NULL. Needs to be greater than 0. - **Frequency** (integer) To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/pensions/contributions/options - **StartBasis** (integer) To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/pensions/contributions/options - **StartEventGUID** (string(uuid) | null) This field is required if the value of StartBasis = 4. To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/pensions/contributions/options - **StartAge** (integer | null) This field is required if the value of StartBasis = 2 or 7. - **StartDate** (string | null) This field is required if the value of StartBasis = 3. Dates should be provided in the format "Y-m-d", where "Y" represents the year, "m" represents the month and "d" represents the day. For example, "2023-07-24" represents 24th July, 2023. - **EndBasis** (integer | null) This field is required if the value of Frequency is not = 120. To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/pensions/contributions/options - **EndEventGUID** (string(uuid) | null) This field is required if the value of EndBasis = 4 and the value of Frequency is not = 120. Event end must be after starting. To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/pensions/contributions/options - **EndAge** (integer | null) This field is required if the value of EndBasis = 2 or 7 and the value of Frequency is not = 120. EndAge must be after starting. - **EndDate** (string | null) This field is required if the value of EndBasis = 3 and the value of Frequency is not = 120. EndDate must be after starting. Dates should be provided in the format "Y-m-d", where "Y" represents the year, "m" represents the month and "d" represents the day. For example, "2023-07-24" represents 24th July, 2023. - **BackOfficeID** (string | null) - **BackOfficeSync** (integer | null) An integer representing the status of the back office sync: - 1: Yes - 2: No - 3: Only update from back office - **ExcludeFormattedValues** (string | null) If set to any value, formatted values will be excluded from the response. ## Responses ### 201 Success #### Body: application/json (object) - **success** (boolean) - **data** (object) ### 403 Permission error. #### Body: application/json (object) - **success** (boolean) - **message** (string) ### 404 Household not found #### Body: application/json (object) - **success** (boolean) - **message** (string) ### 422 Validation error. #### Body: application/json (object) - **success** (boolean) - **message** (string) - **data** (object) Example validation error message. ### 500 Internal server error. #### Body: application/json (object) - **success** (boolean) - **message** (string) [Powered by Bump.sh](https://bump.sh)