» Custom Component POST API Documentation

Create a Custom Component Record: /component/{component_uuid}

POST
https://dev-api.exsited.com/api/v3/component/{component_uuid}
Try It Out
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
ParameterTypeDescription
component_uuidStringUnique 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"
                    }
                ]
            }
        ]
    }
}
FieldTypeDescription
component_nameStringName of the custom component.
parentsArrayParent entities linked to this component, with type and id specified.
custom_formStringName of the form associated with the component.
attributesArrayList of form attributes with their name and value.
custom_objectsArrayList 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

POST
https://dev-api.exsited.com/api/v3/component/{component_uuid}/{component_record_id}/change_status
Try It Out
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

POST
https://dev-api.exsited.com/api/v3/component/{component_uuid}/{component_record_id}/activity
Try It Out
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
ParameterTypeDescription
component_uuidstringUnique identifier of the component.
component_record_idstringUnique 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.