mutation UpdateDecisionComponent($input: UpdateDecisionComponentInput!) {
updateDecisionComponent(input: $input) {
decisionComponent {
attachments {
fileName
id
size
uploadedDateTime
}
comments {
content
createdDateTime
decisionComponent
id
updatedDateTime
}
hasAttachments
hasComments
id
items {
descriptiveText
displayOrder
guidance
id
label
stakeholderId
status
}
lastUpdatedBy {
name
type
}
schema {
id
label
requiredRoles
requiredScopes
}
status
updatedDateTime
}
errors {
... on BadRequestError {
advice
code
message
}
... on ForbiddenError {
advice
code
message
}
... on InvalidActorError {
advice
code
message
}
... on InvalidOrganizationError {
advice
code
message
}
... on NotFoundError {
advice
code
message
resourceId
resourceName
}
... on ServerError {
advice
code
message
}
... on UnderwritingApplicationFieldValidationError {
code
field
message
}
... on UnderwritingApplicationStakeholderFieldValidationError {
code
field
message
stakeholderId
}
... on UnderwritingApplicationValidationError {
code
message
}
... on UnderwritingApplicationBankAccountFieldValidationError {
bankAccountId
code
field
message
}
... on UnderwritingDynamicFieldValidationError {
code
decisionComponentItemId
key
label
message
}
... on UpdateConflictError {
message
}
}
}
}
{
"input": {
"decisionComponentId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
curl --request POST \
--url https://api.sandbox.com/graphql \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \
--data '{
"query": "mutation UpdateDecisionComponent($input: UpdateDecisionComponentInput!) {\n updateDecisionComponent(input: $input) {\n decisionComponent {\n attachments {\n fileName\n id\n size\n uploadedDateTime\n }\n comments {\n content\n createdDateTime\n decisionComponent\n id\n updatedDateTime\n }\n hasAttachments\n hasComments\n id\n items {\n descriptiveText\n displayOrder\n guidance\n id\n label\n stakeholderId\n status\n }\n lastUpdatedBy {\n name\n type\n }\n schema {\n id\n label\n requiredRoles\n requiredScopes\n }\n status\n updatedDateTime\n }\n errors {\n ... on BadRequestError {\n advice\n code\n message\n }\n ... on ForbiddenError {\n advice\n code\n message\n }\n ... on InvalidActorError {\n advice\n code\n message\n }\n ... on InvalidOrganizationError {\n advice\n code\n message\n }\n ... on NotFoundError {\n advice\n code\n message\n resourceId\n resourceName\n }\n ... on ServerError {\n advice\n code\n message\n }\n ... on UnderwritingApplicationFieldValidationError {\n code\n field\n message\n }\n ... on UnderwritingApplicationStakeholderFieldValidationError {\n code\n field\n message\n stakeholderId\n }\n ... on UnderwritingApplicationValidationError {\n code\n message\n }\n ... on UnderwritingApplicationBankAccountFieldValidationError {\n bankAccountId\n code\n field\n message\n }\n ... on UnderwritingDynamicFieldValidationError {\n code\n decisionComponentItemId\n key\n label\n message\n }\n ... on UpdateConflictError {\n message\n }\n }\n }\n}",
"variables": {
"input": {
"decisionComponentId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
}'
{
"data": {
"updateDecisionComponent": {
"decisionComponent": {
"attachments": [
{
"fileName": "business-license.pdf",
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"size": 0,
"uploadedBy": "example",
"uploadedDateTime": "2026-01-15T14:30:00Z"
}
],
"comments": [
{
"content": "Approved for mechanical keyboard accessories line.",
"createdBy": "example",
"createdDateTime": "2026-01-15T14:30:00Z",
"decisionComponent": "example",
"id": "c9a1e2d3-4b5f-6789-0abc-def123456789",
"lastUpdatedBy": "example",
"updatedDateTime": "2026-01-15T14:30:00Z"
}
],
"hasAttachments": true,
"hasComments": true,
"id": "d8b2f3e4-5c6a-7890-1bcd-ef2345678901",
"items": [
{
"descriptiveText": "example",
"displayOrder": 0,
"dynamicFields": [
"example"
],
"fields": [
"example"
],
"guidance": "example",
"id": "e7c3a4b5-6d7e-8901-2cde-f34567890123",
"label": "example",
"outcomes": "example",
"stakeholderId": "b6d4e5f6-7a8b-9012-3def-456789012345",
"status": "ACCEPTED"
}
],
"lastUpdatedBy": {
"name": "Ben Torres",
"type": "APP"
},
"schema": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"label": "example",
"requiredRoles": [
"BANK"
],
"requiredScopes": [
"example"
],
"underwritingDecisionComponentItemSchemas": [
"example"
]
},
"status": "ACCEPTED",
"updatedDateTime": "2026-01-15T14:30:00Z"
},
"errors": [
{
"__typename": "BadRequestError",
"advice": "example",
"code": "BAD_REQUEST",
"message": "example"
}
]
}
}
}
Boarding
updateDecisionComponent
Update a decision component.
mutation UpdateDecisionComponent($input: UpdateDecisionComponentInput!) {
updateDecisionComponent(input: $input) {
decisionComponent {
attachments {
fileName
id
size
uploadedDateTime
}
comments {
content
createdDateTime
decisionComponent
id
updatedDateTime
}
hasAttachments
hasComments
id
items {
descriptiveText
displayOrder
guidance
id
label
stakeholderId
status
}
lastUpdatedBy {
name
type
}
schema {
id
label
requiredRoles
requiredScopes
}
status
updatedDateTime
}
errors {
... on BadRequestError {
advice
code
message
}
... on ForbiddenError {
advice
code
message
}
... on InvalidActorError {
advice
code
message
}
... on InvalidOrganizationError {
advice
code
message
}
... on NotFoundError {
advice
code
message
resourceId
resourceName
}
... on ServerError {
advice
code
message
}
... on UnderwritingApplicationFieldValidationError {
code
field
message
}
... on UnderwritingApplicationStakeholderFieldValidationError {
code
field
message
stakeholderId
}
... on UnderwritingApplicationValidationError {
code
message
}
... on UnderwritingApplicationBankAccountFieldValidationError {
bankAccountId
code
field
message
}
... on UnderwritingDynamicFieldValidationError {
code
decisionComponentItemId
key
label
message
}
... on UpdateConflictError {
message
}
}
}
}
{
"input": {
"decisionComponentId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
curl --request POST \
--url https://api.sandbox.com/graphql \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \
--data '{
"query": "mutation UpdateDecisionComponent($input: UpdateDecisionComponentInput!) {\n updateDecisionComponent(input: $input) {\n decisionComponent {\n attachments {\n fileName\n id\n size\n uploadedDateTime\n }\n comments {\n content\n createdDateTime\n decisionComponent\n id\n updatedDateTime\n }\n hasAttachments\n hasComments\n id\n items {\n descriptiveText\n displayOrder\n guidance\n id\n label\n stakeholderId\n status\n }\n lastUpdatedBy {\n name\n type\n }\n schema {\n id\n label\n requiredRoles\n requiredScopes\n }\n status\n updatedDateTime\n }\n errors {\n ... on BadRequestError {\n advice\n code\n message\n }\n ... on ForbiddenError {\n advice\n code\n message\n }\n ... on InvalidActorError {\n advice\n code\n message\n }\n ... on InvalidOrganizationError {\n advice\n code\n message\n }\n ... on NotFoundError {\n advice\n code\n message\n resourceId\n resourceName\n }\n ... on ServerError {\n advice\n code\n message\n }\n ... on UnderwritingApplicationFieldValidationError {\n code\n field\n message\n }\n ... on UnderwritingApplicationStakeholderFieldValidationError {\n code\n field\n message\n stakeholderId\n }\n ... on UnderwritingApplicationValidationError {\n code\n message\n }\n ... on UnderwritingApplicationBankAccountFieldValidationError {\n bankAccountId\n code\n field\n message\n }\n ... on UnderwritingDynamicFieldValidationError {\n code\n decisionComponentItemId\n key\n label\n message\n }\n ... on UpdateConflictError {\n message\n }\n }\n }\n}",
"variables": {
"input": {
"decisionComponentId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
}'
{
"data": {
"updateDecisionComponent": {
"decisionComponent": {
"attachments": [
{
"fileName": "business-license.pdf",
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"size": 0,
"uploadedBy": "example",
"uploadedDateTime": "2026-01-15T14:30:00Z"
}
],
"comments": [
{
"content": "Approved for mechanical keyboard accessories line.",
"createdBy": "example",
"createdDateTime": "2026-01-15T14:30:00Z",
"decisionComponent": "example",
"id": "c9a1e2d3-4b5f-6789-0abc-def123456789",
"lastUpdatedBy": "example",
"updatedDateTime": "2026-01-15T14:30:00Z"
}
],
"hasAttachments": true,
"hasComments": true,
"id": "d8b2f3e4-5c6a-7890-1bcd-ef2345678901",
"items": [
{
"descriptiveText": "example",
"displayOrder": 0,
"dynamicFields": [
"example"
],
"fields": [
"example"
],
"guidance": "example",
"id": "e7c3a4b5-6d7e-8901-2cde-f34567890123",
"label": "example",
"outcomes": "example",
"stakeholderId": "b6d4e5f6-7a8b-9012-3def-456789012345",
"status": "ACCEPTED"
}
],
"lastUpdatedBy": {
"name": "Ben Torres",
"type": "APP"
},
"schema": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"label": "example",
"requiredRoles": [
"BANK"
],
"requiredScopes": [
"example"
],
"underwritingDecisionComponentItemSchemas": [
"example"
]
},
"status": "ACCEPTED",
"updatedDateTime": "2026-01-15T14:30:00Z"
},
"errors": [
{
"__typename": "BadRequestError",
"advice": "example",
"code": "BAD_REQUEST",
"message": "example"
}
]
}
}
}
Mutation
Arguments
UpdateDecisionComponentInput!
required
Show child attributes
Show child attributes
[DecisionComponentCommentsInput!]
UUID!
required
The unique identifier of the decision component to update.
[UnderwritingDynamicFieldInput!]
Dynamic field mutations to apply. Each entry is exactly one of add, remove, or update.
Show child attributes
Show child attributes
AddUnderwritingDynamicFieldInput
Add a new dynamic field value.
RemoveUnderwritingDynamicFieldInput
Remove an existing dynamic field value.
Show child attributes
Show child attributes
UUID!
required
The id of the dynamic field value to remove.
[UpdateDecisionComponentFieldInput!]
Return type
UpdateDecisionComponentPayload!
DecisionComponent
The decision component that was updated.
Show child attributes
Show child attributes
[Attachment!]!
required
See Attachment
Boolean!
required
Boolean!
required
UUID!
required
The unique identifier of the decision component.
[DecisionComponentItem!]!
required
UnderwritingDecisionComponentSchema
DecisionComponentStatus
The current processing status of this decision component in the underwriting workflow.See DecisionComponentStatus
DateTime!
required
The last date and time this was updated in UTC.
[UpdateDecisionComponentError!]
Errors that occurred during the mutation, if any. Null or empty indicates success.
Show Possible types
Show Possible types
Show BadRequestError
Show BadRequestError
Show ForbiddenError
Show ForbiddenError
Show InvalidActorError
Show InvalidActorError
Show InvalidOrganizationError
Show InvalidOrganizationError
Show NotFoundError
Show NotFoundError
Show ServerError
Show ServerError
Show UnderwritingApplicationFieldValidationError
Show UnderwritingApplicationFieldValidationError
Represents a field-level validation error on an underwriting application.
UnderwritingApplicationFieldValidationErrorCode!
required
A static code for tying the response back programmatically.
Show Possible enum values
Show Possible enum values
enum
A field value exceeds the maximum allowed length.
enum
The business address country code is not a recognized ISO 3166-1 alpha-3 value.
enum
The Employer Identification Number (EIN) does not conform to the expected format of XX-XXXXXXX (e.g., 12-3456789).
enum
The field value does not meet the required format or constraints.
enum
The Merchant Category Code (MCC) is not a recognized value.
enum
The Social Security Number (SSN) does not conform to the expected format of XXX-XX-XXXX (e.g., 012-34-5678).
enum
The telephone number is invalid. It must be a valid phone number containing only digits, with optional dashes, dots, or spaces.
enum
The tax identification number (TIN) does not conform to the expected format: XXX-XX-XXXX for individuals (SSN/ITIN) or XX-XXXXXXX for businesses (EIN).
enum
A required field was not provided.
String!
required
The field that is invalid.
String!
required
A helpful message to help fix the invalid value.
Show UnderwritingApplicationStakeholderFieldValidationError
Show UnderwritingApplicationStakeholderFieldValidationError
Represents a field-level validation error on a stakeholder within an underwriting application.
UnderwritingApplicationStakeholderFieldValidationErrorCode!
required
A static code for tying the response back programmatically
Show Possible enum values
Show Possible enum values
enum
A field value exceeds the maximum allowed length.
enum
The field value does not meet the required format or constraints.
enum
The stakeholder’s telephone number is invalid. It must be a valid phone number containing only digits, with optional dashes, dots, or spaces.
enum
A required field was not provided.
String!
required
The field that is invalid
String!
required
A helpful message to help fix the invalid value
UUID!
required
The associated stakeholder ID
Show UnderwritingApplicationValidationError
Show UnderwritingApplicationValidationError
Represents a validation error on an underwriting application that is not specific to a single field.
UnderwritingApplicationValidationErrorCode!
required
A static code for tying the response back programmatically.
Show Possible enum values
Show Possible enum values
enum
An unexpected server error occurred while processing the application.
enum
The caller does not own the application or lacks permission to modify it.
enum
The application is in a state that does not permit this operation.
enum
The application is missing a required guarantor.
enum
The application is missing a required stakeholder with at least one role.
String!
required
A helpful message to help fix the validation error.
Show UnderwritingApplicationBankAccountFieldValidationError
Show UnderwritingApplicationBankAccountFieldValidationError
Represents a field-level validation error on a bank account within an underwriting application.
UUID!
required
The associated bank account id
UnderwritingApplicationBankAccountFieldValidationGraphQlErrorCode!
required
String!
required
The field that is invalid
String!
required
A helpful message to help fix the invalid value
Show UnderwritingDynamicFieldValidationError
Show UnderwritingDynamicFieldValidationError
Represents a completeness validation error for a required dynamic field on a decision component that is being accepted.
UnderwritingDynamicFieldValidationErrorCode!
required
A static code for tying the response back programmatically.
Show Possible enum values
Show Possible enum values
enum
The date dynamic field must have a value in the future.
enum
The date dynamic field must have a value in a year no later than the latest plausible year.
enum
The date dynamic field must have a value in a year no earlier than the earliest plausible year.
enum
The date dynamic field must have a value on or prior to the current date.
enum
A required dynamic field has no value.
enum
A required dynamic field with mutually exclusive options has no option selected.
UUID
The decision component item the incomplete field belongs to, when the field is item-scoped.
String!
required
The key of the dynamic field that is incomplete.
String!
required
The human-readable label of the dynamic field that is incomplete.
String!
required
A helpful message to help fix the validation error.
Show UpdateConflictError
Show UpdateConflictError
The application is currently being updated by another request; this update was not applied and is safe to retry.
String!
required
A helpful message describing the conflict.
mutation UpdateDecisionComponent($input: UpdateDecisionComponentInput!) {
updateDecisionComponent(input: $input) {
decisionComponent {
attachments {
fileName
id
size
uploadedDateTime
}
comments {
content
createdDateTime
decisionComponent
id
updatedDateTime
}
hasAttachments
hasComments
id
items {
descriptiveText
displayOrder
guidance
id
label
stakeholderId
status
}
lastUpdatedBy {
name
type
}
schema {
id
label
requiredRoles
requiredScopes
}
status
updatedDateTime
}
errors {
... on BadRequestError {
advice
code
message
}
... on ForbiddenError {
advice
code
message
}
... on InvalidActorError {
advice
code
message
}
... on InvalidOrganizationError {
advice
code
message
}
... on NotFoundError {
advice
code
message
resourceId
resourceName
}
... on ServerError {
advice
code
message
}
... on UnderwritingApplicationFieldValidationError {
code
field
message
}
... on UnderwritingApplicationStakeholderFieldValidationError {
code
field
message
stakeholderId
}
... on UnderwritingApplicationValidationError {
code
message
}
... on UnderwritingApplicationBankAccountFieldValidationError {
bankAccountId
code
field
message
}
... on UnderwritingDynamicFieldValidationError {
code
decisionComponentItemId
key
label
message
}
... on UpdateConflictError {
message
}
}
}
}
{
"input": {
"decisionComponentId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
curl --request POST \
--url https://api.sandbox.com/graphql \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \
--data '{
"query": "mutation UpdateDecisionComponent($input: UpdateDecisionComponentInput!) {\n updateDecisionComponent(input: $input) {\n decisionComponent {\n attachments {\n fileName\n id\n size\n uploadedDateTime\n }\n comments {\n content\n createdDateTime\n decisionComponent\n id\n updatedDateTime\n }\n hasAttachments\n hasComments\n id\n items {\n descriptiveText\n displayOrder\n guidance\n id\n label\n stakeholderId\n status\n }\n lastUpdatedBy {\n name\n type\n }\n schema {\n id\n label\n requiredRoles\n requiredScopes\n }\n status\n updatedDateTime\n }\n errors {\n ... on BadRequestError {\n advice\n code\n message\n }\n ... on ForbiddenError {\n advice\n code\n message\n }\n ... on InvalidActorError {\n advice\n code\n message\n }\n ... on InvalidOrganizationError {\n advice\n code\n message\n }\n ... on NotFoundError {\n advice\n code\n message\n resourceId\n resourceName\n }\n ... on ServerError {\n advice\n code\n message\n }\n ... on UnderwritingApplicationFieldValidationError {\n code\n field\n message\n }\n ... on UnderwritingApplicationStakeholderFieldValidationError {\n code\n field\n message\n stakeholderId\n }\n ... on UnderwritingApplicationValidationError {\n code\n message\n }\n ... on UnderwritingApplicationBankAccountFieldValidationError {\n bankAccountId\n code\n field\n message\n }\n ... on UnderwritingDynamicFieldValidationError {\n code\n decisionComponentItemId\n key\n label\n message\n }\n ... on UpdateConflictError {\n message\n }\n }\n }\n}",
"variables": {
"input": {
"decisionComponentId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
}'
{
"data": {
"updateDecisionComponent": {
"decisionComponent": {
"attachments": [
{
"fileName": "business-license.pdf",
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"size": 0,
"uploadedBy": "example",
"uploadedDateTime": "2026-01-15T14:30:00Z"
}
],
"comments": [
{
"content": "Approved for mechanical keyboard accessories line.",
"createdBy": "example",
"createdDateTime": "2026-01-15T14:30:00Z",
"decisionComponent": "example",
"id": "c9a1e2d3-4b5f-6789-0abc-def123456789",
"lastUpdatedBy": "example",
"updatedDateTime": "2026-01-15T14:30:00Z"
}
],
"hasAttachments": true,
"hasComments": true,
"id": "d8b2f3e4-5c6a-7890-1bcd-ef2345678901",
"items": [
{
"descriptiveText": "example",
"displayOrder": 0,
"dynamicFields": [
"example"
],
"fields": [
"example"
],
"guidance": "example",
"id": "e7c3a4b5-6d7e-8901-2cde-f34567890123",
"label": "example",
"outcomes": "example",
"stakeholderId": "b6d4e5f6-7a8b-9012-3def-456789012345",
"status": "ACCEPTED"
}
],
"lastUpdatedBy": {
"name": "Ben Torres",
"type": "APP"
},
"schema": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"label": "example",
"requiredRoles": [
"BANK"
],
"requiredScopes": [
"example"
],
"underwritingDecisionComponentItemSchemas": [
"example"
]
},
"status": "ACCEPTED",
"updatedDateTime": "2026-01-15T14:30:00Z"
},
"errors": [
{
"__typename": "BadRequestError",
"advice": "example",
"code": "BAD_REQUEST",
"message": "example"
}
]
}
}
}
Was this page helpful?