API Error Code 4
Hi,
Using postman to try and place a test transaction from endpoint
When submitting, I'm getting an error:
[
{
"message": "Transaction is required.",
"error_name": "TransactionValidationError",
"error_code": 4,
"raw_message": "Transaction is required."
}
]
I'm sending data as raw json with content-type: application/json but the error makes me think no data is being sent at all. Any insight to this?
Comments
-
@Joshua Morlan
You will need to provide more details on your call.I'm assuming you are using the POST Transaction API endpoint?

if so, you need to provide a JSON of the transaction detail in the request body, hard to help without seeing what you provided as request body in postman. you can remove the sensitive info before posting here
0 -
@Alex Wong
Thanks for the reply, yes I am trying a POST transaction as a test. Here is the full CURL request to hopefully help troubleshoot this:
curl --location --request POST 'https://api.sky.blackbaud.com/payments/v1/transactions' \\--header 'Bb-Api-Subscription-Key: #######' \\
--header 'Content-Type: application/json' \\
--header 'Authorization: Bearer #########' \\
--data-raw '{
"amount": 1.00,
"billing_contact": {
"address": "###",
"city": "###",
"country": "US",
"first_name": "Josh",
"post_code": "#####",
"state": "MI"
},
"comment": "Test Transaction",
"credit_card": {
"exp_month": 7,
"exp_year": 2023,
"name": "####",
"number": "####"
},
"csc": "###",
"donor_ip": "###",
"payment_configuration_id": "###",
"tokenize": false
}'
0 -
For anyone else running into this issue, I figured it out, the problem was the transaction_id in the request.
The documentation states you can specify a transaction_id for the transaction, or leave it blank and one will be generated for you, and it is not marked as a required field. This is not correct. The transaction_id cannot be omitted and it cannot be blank or you will get the error in my screenshot. If you want a transaction id to be auto-generated you must include an all 0 id like so: "transaction_id": "00000000-0000-0000-0000-000000000000" and only when I did this did the call work correctly. If the documentation or error message was more clear this would have been an easy fix.
0 -
@Joshua Morlan
Thank you for the feedback, we will review and address this in the documentation!0
Categories
- All Categories
- 6 Blackbaud Community Help
- 206 bbcon®
- 1.4K Blackbaud Altru®
- 394 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 1.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- 15 donorCentrics®
- 357 Blackbaud eTapestry®
- 2.5K Blackbaud Financial Edge NXT®
- 646 Blackbaud Grantmaking™
- 561 Blackbaud Education Management Solutions for Higher Education
- 3.2K Blackbaud Education Management Solutions for K-12 Schools
- 934 Blackbaud Luminate Online® and Blackbaud TeamRaiser®
- 84 JustGiving® from Blackbaud®
- 6.4K Blackbaud Raiser's Edge NXT®
- 3.6K SKY Developer
- 242 ResearchPoint™
- 118 Blackbaud Tuition Management™
- 165 Organizational Best Practices
- 238 The Tap (Just for Fun)
- 33 Blackbaud Community Challenges
- 28 PowerUp Challenges
- 3 (Open) Raiser's Edge NXT PowerUp Challenge: Product Update Briefing
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Standard Reports+
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Email Marketing
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Gift Management
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Event Management
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Home Page
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Standard Reports
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Query
- 778 Community News
- 2.9K Jobs Board
- 53 Blackbaud SKY® Reporting Announcements
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)

