# Create contributions **POST /employers/{employerId}/contributions** Create multiple contributions for a specified employer in a single request. Contributions are processed asynchronously — the response returns an upload ID that can be used to track processing status via the Uploads endpoints. ## Servers - Production: https://partner-api.getpenfold.com/v1 (Production) - Staging: https://partner-api.getpenfold.dev/v1 (Staging) ## Authentication methods - Bearer auth ## Parameters ### Path parameters - **employerId** (string(uuid)) Penfold employer UUID ### Body: application/json (array[object]) - **employeeId** (string) Identifier for the employee associated with the contribution. - **employerContributionsAmount** (number) The amount of the employer's contribution for the given pay period. - **employeeContributionsAmount** (number) The amount of the employee's contribution for the given pay period. - **payPeriodStartDate** (string(date)) The start date of the pay period, in YYYY-MM-DD format. - **payPeriodEndDate** (string(date)) The end date of the pay period, in YYYY-MM-DD format. ## Responses ### 201 Submission accepted for processing. #### Body: application/json (object) - **id** (string) Upload ID for tracking the submission. Use the Uploads endpoints to check processing status. - **status** (string) Initial status of the submission. - **createdAt** (string(date-time)) When the submission was created (ISO 8601). ### 400 Request body failed validation #### Body: application/json (object) - **error** (string) A descriptive error message. - **validationErrors** (array[object]) ### 401 Missing or invalid authentication token #### Body: application/json (object) - **error** (string) ### 404 Resource not found #### Body: application/json (object) - **error** (string) ### 500 Internal server error #### Body: application/json (object) - **error** (string) [Powered by Bump.sh](https://bump.sh)