Integrated Application Data (POST)

Manages application data by creating, updating, or deleting records using the Context Service as the persistence strategy.
Resource
1/connect/integrated-application/application-data
Available version
68.0
HTTP methods
POST
Request body for POST
JSON example
1{
2  "contextInfo": {
3    "contextDefinitionApiName": "string",
4    "contextMappingId": "string",
5    "contextMappingName": "string"
6  },
7  "hydrationRecordId": "string",
8  "idempotencyKey": "string",
9  "applicationData": {
10    "<RootNodeKey>": [
11      {
12        "id": "string",
13        "businessObjectType": "string",
14        "_delete": true,
15        "<attributeName>": "<value>",
16        "<childNodeKey>": [
17          { "...": "..." }
18        ]
19      }
20    ]
21  }
22}
JSON example: create an application
1{
2  "contextInfo": {
3    "contextDefinitionApiName": "BenefitEnrollmentContext__stdctx",
4    "contextMappingName": "BenefitEnrollmentObjectMapping"
5  },
6  "applicationData": {
7    "BenefitEnrollment": [
8      {
9        "businessObjectType": "ApplicationForm",
10        "PrimaryBeneficiaryId": "001xx000003GYiCAAW",
11        "UsageType": "Other",
12        "AppliedBenefits": [
13          {
14            "businessObjectType": "ApplicationFormRelation",
15            "BenefitId": "0jixx0000000001AAA",
16            "Name": "AFR for LIHEAP"
17          },
18          {
19            "businessObjectType": "ApplicationFormRelation",
20            "BenefitId": "0jixx0000000002AAA",
21            "Name": "AFR for SNAP"
22          }
23        ],
24        "Applicants": [
25          {
26            "businessObjectType": "Applicant",
27            "Role": "Primary",
28            "FirstName": "George",
29            "LastName": "Lucas",
30            "Profile": [
31              {
32                "businessObjectType": "PartyProfile",
33                "Name": "George Lucas",
34                "FirstName": "George",
35                "LastName": "Lucas",
36                "Email": "george.lucas@gmail.com",
37                "Phone": "1212121212",
38                "PreferredCommunicationMethod": "Phone",
39                "IsDisabled": false,
40                "BirthDate": "2019-06-01"
41              }
42            ],
43            "Addresses": [
44              {
45                "businessObjectType": "PartyProfileAddress",
46                "Name": "Primary Address of George Lucas",
47                "Type": "Primary",
48                "Street": "Block 3, DivyaSree Orion",
49                "City": "Hyderabad",
50                "State": "Telangana",
51                "PostalCode": "500032",
52                "Country": "India",
53                "StartDate": "2021-05-01"
54              }
55            ],
56            "Assets": [
57              {
58                "businessObjectType": "PartyFinancialAsset",
59                "Status": "Active",
60                "Type": "Movable",
61                "OwnershipStartDateTime": "2024-03-13T00:00:00.000Z",
62                "ValuationAmount": 36510
63              }
64            ],
65            "Expenses": [
66              {
67                "businessObjectType": "PartyExpense",
68                "Status": "Active",
69                "Type": "Housing",
70                "Frequency": "Monthly",
71                "StartDateTime": "2006-09-12T00:00:00.000Z",
72                "Amount": 36200
73              }
74            ],
75            "Incomes": [
76              {
77                "businessObjectType": "PartyIncome",
78                "StartDate": "2022-01-01",
79                "Status": "Active",
80                "Type": "Salary",
81                "Frequency": "Monthly",
82                "Amount": 36500,
83                "EmployerName": "Acme Corporation",
84                "EmployerAddress": "123 Market St, San Francisco, CA 94105",
85                "Documents": [
86                  {
87                    "businessObjectType": "DocumentChecklistItem",
88                    "Status": "New",
89                    "Name": "Income-Document-36500",
90                    "DocumentLinks": [
91                      {
92                        "businessObjectType": "ContentDocumentLink",
93                        "ContentDocumentId": "069xx0000004C92AAE"
94                      }
95                    ]
96                  }
97                ]
98              }
99            ]
100          },
101          {
102            "businessObjectType": "Applicant",
103            "Role": "Secondary",
104            "FirstName": "Mary",
105            "LastName": "Lucas",
106            "Expenses": [
107              {
108                "businessObjectType": "PartyExpense",
109                "Status": "Active",
110                "Type": "Childcare",
111                "Frequency": "Monthly",
112                "StartDateTime": "2022-06-27T00:00:00.000Z",
113                "Amount": 3600
114              }
115            ],
116            "Incomes": [
117              {
118                "businessObjectType": "PartyIncome",
119                "StartDate": "2021-06-01",
120                "Status": "Active",
121                "Type": "Fees",
122                "Frequency": "Monthly",
123                "Amount": 36900,
124                "EmployerName": "Lucas Designs",
125                "EmployerAddress": "789 Mission St, San Francisco, CA 94103"
126              }
127            ]
128          }
129        ]
130      }
131    ]
132  }
133}
JSON example: read an existing application
1{
2  "contextInfo": {
3    "contextDefinitionApiName": "BenefitEnrollmentContext__stdctx",
4    "contextMappingName": "BenefitEnrollmentObjectMapping"
5  },
6  "hydrationRecordId": "13Xxx0000004CiWEAU"
7}
JSON example: update an existing application
1{
2  "contextInfo": {
3    "contextDefinitionApiName": "BenefitEnrollmentContext__stdctx",
4    "contextMappingName": "BenefitEnrollmentObjectMapping"
5  },
6  "hydrationRecordId": "13Xxx0000004CiWEAU",
7  "applicationData": {
8    "BenefitEnrollment": [
9      {
10        "id": "13Xxx0000004CiWEAU",
11        "businessObjectType": "ApplicationForm",
12        "Applicants": [
13          {
14            "id": "13Yxx0000004CdhEAE",
15            "businessObjectType": "Applicant",
16            "Incomes": [
17              {
18                "id": "2m3xx00000006biAAA",
19                "businessObjectType": "PartyIncome",
20                "Amount": 40000
21              }
22            ]
23          }
24        ]
25      }
26    ]
27  }
28}
JSON example: delete a subtree
1{
2  "contextInfo": {
3    "contextDefinitionApiName": "BenefitEnrollmentContext__stdctx",
4    "contextMappingName": "BenefitEnrollmentObjectMapping"
5  },
6  "hydrationRecordId": "13Xxx0000004CiWEAU",
7  "applicationData": {
8    "BenefitEnrollment": [
9      {
10        "id": "13Xxx0000004CiWEAU",
11        "businessObjectType": "ApplicationForm",
12        "Applicants": [
13          {
14            "id": "13Yxx0000004CdhEAE",
15            "businessObjectType": "Applicant",
16            "_delete": true,
17            "Expenses": [
18              {
19                "id": "139xx0000008iFwAAI",
20                "businessObjectType": "PartyExpense",
21                "_delete": true
22              }
23            ],
24            "Incomes": [
25              {
26                "id": "2m3xx00000006biAAA",
27                "businessObjectType": "PartyIncome",
28                "_delete": true
29              }
30            ],
31            "Assets": [
32              {
33                "id": "12Mxx0000004DAJEA2",
34                "businessObjectType": "PartyFinancialAsset",
35                "_delete": true
36              }
37            ],
38            "Profile": [
39              {
40                "id": "0xUxx00000000G9EAI",
41                "businessObjectType": "PartyProfile",
42                "_delete": true
43              }
44            ],
45            "Addresses": [
46              {
47                "id": "0wFxx000000006TEAQ",
48                "businessObjectType": "PartyProfileAddress",
49                "_delete": true
50              }
51            ]
52          }
53        ]
54      }
55    ]
56  }
57}
Properties
Name Type Description Required or Optional Available Version
applicationData Object Full nested JSON payload expressed in context node names and context attribute names representing the application data to be created or updated. Required on CREATE, UPDATE, and DELETE; absent on READ. 68.0
contextInfo ContextInfoInputRepresentation Information to identify and hydrate the context (definition, mapping, and input data). Required 68.0
hydrationRecordId String Salesforce ID of the ApplicationForm root record to hydrate. Required on READ, UPDATE, and DELETE; absent on CREATE. 68.0
idempotencyKey String Caller-supplied unique key (typically a UUID) to deduplicate retries. Optional 68.0
Response body for POST
Integrated Application Data
Request parameters for POST
Parameter Name Type Description Required or Optional Available Version
integratedApplicationDataInputRepresentation Object 68.0

The single POST endpoint routes to one of four operations, based on which fields are present in the request.

hydrationRecordId applicationData Operation
Absent Present CREATE—creates an application tree and returns the full tree with the assigned Salesforce IDs.
Present Absent READ—hydrates and returns the existing tree.
Present Present, with no _delete markers UPDATE or CREATE—updates changed nodes and creates nodes without an ID in one atomic call.
Present Present, with _delete markers DELETE—soft-deletes the marked nodes, and can be combined with updates and creates in the same call.
  • Send DATETIME field values with milliseconds (for example, 2026-02-01T06:30:00.000Z) or as a date (yyyy-MM-dd). A DATETIME value without milliseconds is set to null when the record is created.
  • On update and delete, include the id field on the root ApplicationForm node. If id is missing when hydrationRecordId is present, new child records and all _delete markers in the payload are dropped.
  • Deletion is explicit for each node. Mark every node to delete with "_delete": true. If you mark a parent node but don't mark its RESTRICT-constraint child records in the same request, the call fails with HTTP status code 409 and the error code DELETE_NOT_ALLOWED, and all changes are rolled back.
  • Deletion is soft. Deleted records go to the Recycle Bin and are recoverable for about 15 days. Hard delete isn't supported.

Note