Create a Custom Component Record: /component/{component_uuid}
Purpose
This API creates a new custom component record in Exsited, identified by a unique component uuid. The request payload defines the complete structure of the component record, enabling the creation of a fully configured component in a single operation. This endpoint is useful for quickly setting up new components in Exsited with all necessary forms, attributes, and object configurations included, ensuring consistency and accuracy during creation.
Use Case
This API is useful when users rneed to add a new custom component with its required forms, attributes, and custom objects to Exsited. It can be used to initialize complex components during environment setup, onboard new workflows, or programmatically replicate existing structures across multiple accounts. Developers may also use it to automate bulk component creation as part of integration scripts, while administrators can leverage it to ensure that each new component adheres to predefined configuration standards and links to the correct parent entity.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| component_uuid | String | Unique ID for the custom component. |
Query Parameters
No query parameters are required for this endpoint.
Request Body
{
"Sample Component Name": {
"parents": [
{
"type": "sample_type",
"id": "sample-id-0001"
}
],
"custom_form": "Sample Form",
"attributes": [
{
"name": "Attribute_One",
"value": "Sample Value 1"
},
{
"name": "Attribute_Two",
"value": "Sample Value 2"
}
],
"custom_objects": [
{
"uuid": "sample-uuid-1234",
"attributes": [
{
"name": "Custom_Object_Field_One",
"value": "Sample Data 1"
},
{
"name": "Custom_Object_Field_Two",
"value": "Sample Data 2"
}
]
}
]
}
}
| Field | Type | Description |
|---|---|---|
| component_name | String | Name of the custom component. |
| parents | Array | Parent entities linked to this component, with type and id specified. |
| custom_form | String | Name of the form associated with the component. |
| attributes | Array | List of form attributes with their name and value. |
| custom_objects | Array | List of custom objects, each with its uuid and associated attributes. |
Response
Upon successful creation, the API returns the details of the newly created component. The response includes its status, unique identifiers, linked parent entities, form details, creator information, and associated attributes. It also lists all linked custom objects, each with a name, unique UUID, and an API link for retrieving its records.
Response Body
{
"Sample Component": {
"status": "ACTIVE",
"id": "ABC123",
"parents": [
{
"type": "account",
"id": "ACCOUNT-12345"
}
],
"custom_form": {
"uuid": "form-uuid-1234",
"name": "Sample Form"
},
"created_by": "username",
"created_on": "2025-08-13T03:30:56Z",
"uuid": "component-uuid-1234",
"version": "1",
"attributes": [
{
"name": "Attribute_One",
"value": "Value 1"
},
{
"name": "Attribute_Two",
"value": "Value 2"
},
{
"name": "Attribute_Three",
"value": ""
}
],
"custom_objects": [
{
"uuid": "object-uuid-1234",
"name": "Custom Object 1",
"link": "https://api.example.com/component/{component_uuid}/{id}/custom_objects/{object_uuid}?limit=10&offset=0"
}
]
}
}
| Attribute | Type | Description |
|---|---|---|
| Sample Component | Object | Root object containing all details of the custom component. |
| status | String | Current status of the component (example: ACTIVE, INACTIVE). |
| id | String | Unique identifier of the component record. |
| parents | Array | List of parent entities linked to this component. |
| parents.type | String | Type of the parent entity (for example, account). |
| parents.id | String | Identifier of the parent entity. |
| custom_form | Object | Information about the form template associated with this component. |
| custom_form.uuid | String | Unique identifier of the custom form. |
| custom_form.name | String | Name of the custom form. |
| created_by | String | Name of the user who created the component. |
| created_on | String (ISO 8601) | Timestamp indicating when the component was created. |
| uuid | String | System-generated unique identifier for the component. |
| version | String | Version number of the component record. |
| attributes | Array | List of name-value pairs containing the component’s attributes. |
| attributes.name | String | Name of the attribute. |
| attributes.value | String | Value assigned to the attribute. |
| custom_objects | Array | List of custom objects linked to the component. |
| custom_objects.uuid | String | Unique identifier of the custom object. |
| custom_objects.name | String | Name of the custom object. |
| custom_objects.link | String | API endpoint link to access the specific custom object. |
Change Component Workflow Status: /component/{component_uuid}/{component_record_id}/change_status
Purpose
This API allows you to change the workflow status of a specific custom component record in the Exsited platform. Workflow states are created and configured by users and a workflow must be assigned to the related custom component before status changes can occur. Once assigned, users can manually trigger state transitions through this API. During execution, Exsited checks any configured criteria and delay time for the target state. Even if the API returns a success message, the transition will only complete after these conditions are met. The workflow also supports pre-checks and post functions, which let users run custom logic before and after the state change for better automation and control.
Use Case
- Change the workflow status of a custom component record.
- Update the status after a specific event, approval, or inspection outcome. Example: In Progress → Approved → Completed.
- Manage workflow progress seamlessly in sync with related Exsited components and their states.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| component_uuid | string | Unique identifier of the component type or module. |
| component_record_id | string | Unique identifier of the component instance whose workflow state is to be changed. |
Query Parameters
No query parameters are required for this endpoint.
Request Body
{
"component_name": {
"workflow_status": "changed_workflow_state"
}
}
| Attribute | Type | Description |
|---|---|---|
| component_name | object | Represents the name of the component whose workflow state is being changed. This is a key containing the workflow attributes. Example: "Inspection Service". |
| workflow_status | enum | The next workflow state to be applied to the component record. This value must match one of the valid workflow states configured in the component. Example: "Completed", "Approved", "In Progress". |
Response
On success, the API returns a confirmation message indicating that the workflow state of the specified component record has been successfully changed. This response confirms that the record’s workflow was validated and the new state was applied. If the provided state does not match a valid workflow transition, an error response will be returned instead.
Response Body
{
"message": "workflow state has been changed successfully"
}
| Attribute | Type | Description |
|---|---|---|
| message | string | Indicates the success message returned after the workflow state is successfully changed. |
Create Component Record Activity: /component/{component_uuid}/{component_record_id}/activity
Purpose
This API creates a new activity entry for a specific component record. It allows systems and users to log actions such as status updates, workflow events, comments, or operational changes. The activity becomes part of the audit trail, providing traceability and visibility of actions performed on the component record.
Use Case
Use this endpoint when you need to:
- Record a new activity entry against a component record
- Log user actions such as accepting, rejecting, updating, or modifying a record
- Track workflow transitions and system-generated events
- Maintain a chronological history of changes
- Provide users with an activity timeline for audit or reference purposes
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| component_uuid | string | Unique identifier of the component. |
| component_record_id | string | Unique identifier of the component record. |
Query Parameters
This endpoint does not support query parameters.
Request Body
{
"Jobs": {
"message": "ACTIVITY_MESSAGE",
"activity_status": "ACTIVITY_STATUS",
"user_name": "USER_NAME"
}
}
| Attribute | Type | Description |
|---|---|---|
| Jobs | object | Main wrapper object containing the activity details to be created. |
| Jobs.message | string | Description or message associated with the activity. |
| Jobs.activity_status | string | Activity state to be recorded (example: Accepted, Rejected, Updated). |
| Jobs.user_name | string | Name of the user responsible for performing the activity. |
Response
The response returns the newly created activity entry, containing its assigned uuid and all submitted details. Additionally, the response includes the system-generated values such as created timestamp and the record status at the moment the activity was added. This allows clients to immediately show the new activity in user interfaces, confirm creation success, and maintain updated audit logs.
Response Body
{
"Jobs": {
"activity": {
"uuid": "ACTIVITY_UUID",
"message": "ACTIVITY_MESSAGE",
"user_name": "USER_NAME",
"status": "RECORD_STATUS",
"activity_status": "ACTIVITY_STATUS",
"created_on": "CREATED_TIMESTAMP"
}
}
}
| Attribute | Type | Description |
|---|---|---|
| Jobs | object | Main container for the activity response. |
| Jobs.activity | object | Contains details of the newly created activity. |
| Jobs.activity.uuid | string | Unique identifier assigned to the new activity. |
| Jobs.activity.message | string | Description associated with the activity. |
| Jobs.activity.user_name | string | Name of the user who performed the action. |
| Jobs.activity.status | string | Status of the component record at the time of activity creation. |
| Jobs.activity.activity_status | string | Activity state that was saved. |
| Jobs.activity.created_on | string | Timestamp indicating when the activity entry was created. |