Module Record Creation via API V8 - SuiteCRM 8.6.x

Problem Statement
On SuiteCRM 8.6.x, try to create a record through the default API call ({instance_url}/legacy/Api/V8/module) for the following identified modules:

  • Meetings
  • Calls
  • Emails

Detail Views of the newly created record go blank in SuiteCRM 8.6.x.

System Details

  • Operating System: Linux CentOS 7
  • SuiteCRM version: 8.6.0 & 8.6.1
  • PHP version: 8.2.20
  • MySQL version: 8.0.32

Pre-conditions

  • Postman Setup
  • SuiteCRM should be installed.
  • SuiteCRM has Authenticated with OAuth2 on the API tool (I used Postman)

Steps to Reproduce

  1. Create a new request on Postman of type POST.
  2. Use SuiteCRM JSON API endpoint, {instance_url}/legacy/Api/V8/module.
  3. Add payload in the request body to create a record of module call/meeting/email.
    Sample Payload
 {
       "data": {
         "type": "Calls",
         "attributes": {
           "name": "Call with Haseeb from Rolustech"
         }
      }
 }
  1. Click the send button(in case you are using Postman too) to make the post call.

Expected Result

Just created call record should be displayed in its module list view and detail view.

Actual Result

Just created the call record detail view is showing a blank screen.

SuiteCRM logs
suitecrm.logs

Root Cause Analysis

The issue stems from a bug in the default record creation API, which fails to properly handle records missing the **parent_type** attribute.

Resolution

A possible fix for this issue is to set the **parent_type** attribute when creating a record. Additionally, you can set the **parent_id** and **parent_name** to ensure the created record is correctly linked to its parent record.