Submit Contribution
/v1/contributions/contributionOverview
Submits a superannuation contribution for processing. This endpoint automatically retrieves employer and employee static information from the database, so you only need to provide variable data such as fund amounts, pay periods, and employment status.
Simplified Request Format
Instead of providing the full contribution payload, you only need to provide:
- Fund USI: The superannuation fund identifier
- Employee ID: Reference to employee stored in database (from GET /v1/employees)
- Amounts: Contribution amounts for each employee
- Pay Periods: Start and end dates for the pay period
- Employment Status: Employment status for this pay period
For this simplified endpoint, you do not send memberNumber or employmentPayrollNumber in the member objects. These identifiers are automatically populated from the onboarded employee record and passed through in the full SuperChoice payload that we build internally.
Workflow
- Onboard Employer: Store employer information in database (internal process)
- Onboard Employees: Use POST /v1/employees to store employee static data (including USI, memberNumber, and employmentPayrollNumber)
- Submit Contribution: Use this endpoint with only variable data
Benefits
- Reduced Payload Size: Only send variable data that changes per contribution
- Data Consistency: Static data is stored once and reused
- Simplified Integration: Less data to manage in your payroll system
- Automatic Updates: Update employee data once, affects all future contributions
Automatic Contribution History Storage
When contributions are submitted via this endpoint, the system automatically stores the contribution details in the history. This happens in the background and does not affect the contribution submission response. You can retrieve the stored contribution history using the GET /v1/contributions/submitted/history endpoint.
Note: This automatic storage ensures all submitted contributions are tracked and can be retrieved later for auditing, reporting, or reconciliation purposes.
Transaction ID - Server-Generated
The server automatically generates a unique transaction ID and timestamp for each request.
Transaction ID Format: txn-{uuid}
Example generated IDs:
txn-550e8400-e29b-41d4-a716-446655440000txn-6ba7b810-9dad-11d1-80b4-00c04fd430c8
The transaction ID will be:
- Included in all response payloads
- Available in error messages for troubleshooting
- Returned in response headers for request tracking
Example Request
{
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": { "value": 1391.67, "currency": "AUD" },
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200,
"payPeriodEndDate": 1640955600,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": { "value": 1391.67, "currency": "AUD" },
"superGuaranteeAmount": { "value": 1391.67, "currency": "AUD" }
}
]
}
]
}
}Authentication
This endpoint requires Basic Authentication using your API Key credentials. For detailed authentication instructions, please refer to the Authentication guide.
The system automatically identifies your employer account and uses the stored SuperChoice API credentials to process the contribution.
Request Body
| Parameter | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| contributionDetails * | object | Simplified contribution details. Only variable data (fund USIs, amounts, pay periods) is required. Employee and employer static data will be automatically retrieved from the database. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Responses
| Response Code | Description | Schema | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 200 | Contribution submitted successfully. The payment has been queued for processing. The response includes the full payload that was sent to SuperChoice API. |
| ||||||||||||||||||
| 400 | Submission failed - Invalid data or employee/employer not found. |
| ||||||||||||||||||
| 401 | Unauthorized - Invalid authentication credentials. |
| ||||||||||||||||||
| 404 | Employee or employer not found in database. |
|
Sample Request - cURL
curl 'https://super.mygigsters.com.au/v1/contributions/contribution' -X POST \
-u "apiUsername:apiPassword-from-api-keys" \
-H "Content-Type: application/json" --data '{"contributionDetails":{"funds":[{"usi":"40328908469310","amountForFund":{"value":1391.67,"currency":"AUD"},"members":[{"employeeId":"507f1f77bcf86cd799439011","payPeriodStartDate":1638277200,"payPeriodEndDate":1640955600,"employmentStatus":"FULL_TIME","totalMemberContributionAmount":{"value":1391.67,"currency":"AUD"},"superGuaranteeAmount":{"value":1391.67,"currency":"AUD"}}]}]}}' Sample Response - 200
{
"success": true,
"statusCode": 200,
"message": "Contribution submitted successfully",
"transactionId": "txn-550e8400-e29b-41d4-a716-446655440000",
"payload": {
"identifier": {
"transactionId": {
"value": "txn-550e8400-e29b-41d4-a716-446655440000"
},
"timeInUTC": 1765780000000
},
"contributionDetails": {
"employer": {
"employerDetails": {
"organisationName": "MyGigsters Technologies Pty Ltd",
"australianBusinessNumber": "34623710896",
"paymentDetails": {
"paymentType": "DIRECTDEBIT",
"directDebit": {
"bankAccount": {
"accountName": "MyGigsters Technologies Pty Ltd",
"bsb": "923100",
"accountNumber": "62645812"
},
"directDebitPaymentAmount": {
"value": 1391.67,
"currency": "AUD"
}
}
},
"refundAccount": {
"accountName": "MyGigsters Technologies Pty Ltd",
"bsb": "923100",
"accountNumber": "62645812"
},
"contactDetails": {
"name": {
"title": "Mr",
"firstName": "Jonathan",
"middleName": " ",
"lastName": "Vella",
"suffix": " "
},
"phoneNumber": {
"type": "MOBILE_PHONE",
"value": "0424022864"
},
"email": {
"value": "jon.vella@company.com"
}
}
},
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD"
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200,
"payPeriodEndDate": 1640955600,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD"
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD"
}
}
]
}
]
}
}
}
}