» Integration PATCH API Documentation

Update Automation: /integration/{connection_uuid}/automation/{automation_uuid}

PATCH
https://dev-api.exsited.com/api/v3/integration/{connection-uuid}/automation/{automation_uuid}
Try It Out

Purpose

This API updates an existing automation with additional criteria under a specified integration connection. It allows modification of automation attributes such as name, trigger type, execution frequency, description, criteria rules, and linked partner functions. The request uses the automation’s unique UUID to locate and update the specific automation record, enabling real-time changes without needing to recreate it.

Use Case

This endpoint is useful when developers or integration administrators need to modify existing automation workflows with with additional criteria, for example, updating the schedule from 8 hours to 4 hours, changing the direction from IMPORT to EXPORT, or adjusting rule conditions to fit new business logic. It supports continuous refinement of automation behavior in active integrations. If the request is invalid, the UUIDs are incorrect, or permission is denied, the API returns structured error information to help with resolution.

Path Parameters

ParameterTypeDescription
connection_uuidStringUnique ID of the integration connection
automation_uuidStringUnique ID of the automation

Query Parameters

No query parameters are required for this endpoint.

Request Body

{
  "integration": {
    "automation_details": {
      "name": "AUTOMATION_NAME",
      "display_name": "DISPLAY_NAME",
      "code": "AUTOMATION_CODE",
      "description_enabled": "BOOLEAN_FLAG",
      "description": "AUTOMATION_DESCRIPTION",
      "another_automation": "SECONDARY_AUTOMATION_NAME",
      "applies_to": "ENTITY_TYPE",
      "applies_to_function": "FUNCTION_TYPE",
      "automation_type": "AUTOMATION_TYPE",
      "check_on": "CHECK_INTERVAL",
      "custom_day": "CUSTOM_DAY",
      "custom_time": "CUSTOM_TIME",
      "direction": "DIRECTION",
      "do_not_over_write_latest_data": "BOOLEAN_FLAG",
      "ignore_threshold": "IGNORE_THRESHOLD_VALUE",
      "perform_action": "ACTION_UUID",
      "since_last_look_up": "BOOLEAN_FLAG",
      "additional_criteria": "BOOLEAN_FLAG",
      "property_name": ""
    },
    "additional_criteria_details": [
      {
        "group_condition": "AND",
        "rules": [
          {
            "field_name": "FIELD_NAME_1",
            "operator": "EQUALS",
            "value": "VALUE_1",
            "condition": "AND"
          }
        ]
      },
      {
        "group_condition": "OR",
        "rules": [
          {
            "field_name": "FIELD_NAME_2",
            "operator": "HAS_VALUE",
            "condition": "OR"
          },
          {
            "field_name": "FIELD_NAME_3",
            "operator": "CONTAINS",
            "value": "STRING_VALUE",
            "condition": "AND"
          }
        ]
      },
      {
        "group_condition": "AND",
        "rules": [
          {
            "field_name": "FIELD_NAME_4",
            "operator": "DOES_NOT_HAVE_VALUE",
            "condition": "AND"
          },
          {
            "field_name": "FIELD_NAME_5",
            "operator": "EQUALS",
            "value": "VALUE_2",
            "condition": "AND"
          }
        ]
      }
    ]
  }
}

Response

Updating an automation returns a structured response confirming the automation has been successfully updated. The response contains an integration_automation object that includes updated metadata such as the automation’s UUID, name, display name, execution type (automation_type), trigger interval (check_on), execution direction (IMPORT or EXPORT), status, and provider. It also includes configuration details such as criteria usage (additional_criteria), associated partner function, and trigger condition text. This response ensures that the automation logic has been modified and is now active according to the new configuration. If the update request fails due to invalid data, missing fields, or authorization issues, the API responds with an error message, backend error details, and the raw response for effective troubleshooting.

Response Body

{
    "integration_automation": {
        "check_on": "CHECK_INTERVAL",
        "check_on_minutes": "CHECK_INTERVAL_MINUTES",
        "additional_criteria": "BOOLEAN_FLAG",
        "applies_to": "ENTITY_TYPE",
        "applies_to_function": "FUNCTION_TYPE",
        "automation_type": "AUTOMATION_TYPE",
        "code": "AUTOMATION_CODE",
        "custom_day": "CUSTOM_DAY",
        "custom_day_time": "CUSTOM_DAY_TIME",
        "custom_time": "CUSTOM_TIME",
        "description": "AUTOMATION_DESCRIPTION",
        "direction": "DIRECTION",
        "display_name": "DISPLAY_NAME",
        "name": "AUTOMATION_NAME",
        "perform_function": "FUNCTION_UUID",
        "provider": "PROVIDER_NAME",
        "status": "AUTOMATION_STATUS",
        "uuid": "AUTOMATION_UUID",
        "trigger_condition_text": "TRIGGER_CONDITION_TEXT",
        "performActionText": "PERFORM_ACTION_LABEL",
        "checkOnText": "CHECK_ON_LABEL"
    }
}

Update Integration Configuration: /integration/{connection_uuid}/configuration

PATCH
https://dev-api.exsited.com/api/v3/integration/{connection_uuid}/configuration
Try It Out

Purpose

This API updates the integration configuration for a specific connection. It allows users to configure or modify account and transaction-level settings, including mappings for accounts receivable/payable, tax codes, invoice export behavior, and synchronization rules. The updated configuration enables the integration to process data according to customized business rules.

Use Case

This endpoint is used when an integration administrator needs to apply or update business logic for how financial or transactional data is managed within an integration. For example, a user might update mappings between source and target accounts, adjust tax handling, or modify invoice export rules. This is useful during onboarding, maintenance, or reconfiguration of data flows. If invalid data is provided or permissions are insufficient, the API returns a structured error to guide resolution.

Path Parameters

ParameterTypeDescription
connection_uuidStringUnique ID of the integration connection.

Query Parameters

No query parameters are required for this endpoint.

Request Body

{
  "account": {
    "export": {
      "enabled": "true",
      "default_account_receivable": "RECEIVABLE_ACCOUNT_NAME",
      "account_receivable_mapping": {
        "enabled": "true",
        "mappings": [
          {
            "source": "SOURCE_LABEL_1",
            "target": "TARGET_LABEL_1"
          },
          {
            "source": "SOURCE_LABEL_2",
            "target": "TARGET_LABEL_2"
          }
        ]
      },
      "default_account_payable": "PAYABLE_ACCOUNT_NAME",
      "account_payable_mapping": {
        "enabled": "true",
        "mappings": [
          {
            "source": "SOURCE_LABEL_3",
            "target": "TARGET_LABEL_3"
          },
          {
            "source": "SOURCE_LABEL_4",
            "target": "TARGET_LABEL_4"
          }
        ]
      },
      "default_tax": null,
      "tax_mapping": {
        "enabled": "false",
        "mappings": []
      },
      "xero_account_number_field": "ACCOUNT_NUMBER_FIELD_NAME",
      "sync_to_xero": "true"
    },
    "import": {
      "enabled": "true",
      "default_account_receivable": "RECEIVABLE_ACCOUNT_NAME_IMPORT",
      "account_receivable_mapping": {
        "enabled": "true",
        "mappings": [
          {
            "source": "SOURCE_LABEL_5",
            "target": "TARGET_LABEL_5"
          },
          {
            "source": "SOURCE_LABEL_6",
            "target": "TARGET_LABEL_6"
          }
        ]
      },
      "default_account_payable": "PAYABLE_ACCOUNT_NAME_IMPORT",
      "account_payable_mapping": {
        "enabled": "true",
        "mappings": [
          {
            "source": "SOURCE_LABEL_7",
            "target": "TARGET_LABEL_7"
          },
          {
            "source": "SOURCE_LABEL_8",
            "target": "TARGET_LABEL_8"
          }
        ]
      },
      "xero_account_id_field": "ACCOUNT_ID_FIELD_NAME"
    }
  },
  "transaction": {
    "invoice": {
      "export": {
        "enabled": "true",
        "default_sales_revenue": "SALES_REVENUE_ACCOUNT",
        "sales_revenue_mapping": {
          "enabled": "true",
          "mappings": [
            {
              "source": "SALES_SOURCE_LABEL_1",
              "target": "SALES_TARGET_LABEL_1"
            },
            {
              "source": "SALES_SOURCE_LABEL_2",
              "target": "SALES_TARGET_LABEL_2"
            }
          ]
        },
        "xero_invoice_number_field": "INVOICE_NUMBER_FIELD_NAME",
        "sync_to_xero": "true"
      }
    }
  }
}

Response

Updating an integration configuration returns a structured response confirming the configuration was successfully applied. The response contains a message field, such as: "Configuration has been updated successfully", indicating that the account and transaction settings have been saved and applied to the integration connection. If the update fails due to issues like invalid input data, missing fields, or permission errors, an ABException is raised. This exception includes descriptive error messages, backend details, and the raw response to assist with troubleshooting and resolution.

Response Body

{
    "message": "Configuration has been updated successfully"
}

Update Partner Function: /integration/{connection_uuid}/partner-function/{partner_function_uuid}

PATCH
https://dev-api.exsited.com/api/v3/integration/{connection_uuid}/partner-function/{partner_function_uuid}
Try It Out

Purpose

This API updates an existing partner function associated with a specific integration connection. The partner function can be updated with new metadata including name, direction (IMPORT/EXPORT), object name, mapping ID, event name, and description. This allows integration behavior to be modified without deleting and recreating the function.

Use Case

This endpoint is used when administrators or developers need to modify the configuration of a partner function — for example, updating the object mapping, changing the trigger event, or tagging the function for better classification. It is useful during maintenance or refinement of integration workflows. If the UUIDs provided are invalid or the user lacks appropriate permissions, the API returns a structured error message to assist in debugging.

Path Parameters

ParameterTypeDescription
connection_uuidStringUnique ID of the integration connection
partner_function_uuidStringUnique ID of the partner function.

Query Parameters

No query parameters are required for this endpoint.

Request Body

{
  "partner_function": {
    "name": "FUNCTION_NAME_PLACEHOLDER",
    "direction": "DIRECTION_TYPE", // IMPORT or EXPORT
    "description": "FUNCTION_DESCRIPTION_PLACEHOLDER",
    "object_name": "OBJECT_NAME_PLACEHOLDER",
    "object_mapping": "OBJECT_MAPPING_PLACEHOLDER",
    "event_name": "EVENT_NAME_PLACEHOLDER",
    "tag": "FUNCTION_TAG_PLACEHOLDER"
  }
}

Response

Updating a partner function returns a structured JSON response confirming the changes have been successfully applied. The response includes key fields such as the uuid of the partner function, its name, direction (e.g., IMPORT), event_name, associated provider_name, object_name, and mapping_id. It also includes flags like enabled, as well as optional script identifiers (pre_run_script_id, post_run_script_id), tagging information, and timestamps for when the function was created and last updated. This response confirms that the partner function is now updated and ready to operate under its revised configuration. If the request fails due to issues such as invalid UUIDs, missing data, or insufficient permissions, the API returns a detailed error message to aid in debugging and resolution.

Response Body

{
  "uuid": "PARTNER_FUNCTION_UUID",
  "name": "FUNCTION_NAME_PLACEHOLDER",
  "description": "FUNCTION_DESCRIPTION_PLACEHOLDER",
  "direction": "DIRECTION_TYPE",  // e.g., IMPORT or EXPORT
  "event_name": "EVENT_NAME_PLACEHOLDER",
  "provider_name": "PROVIDER_NAME_PLACEHOLDER",
  "object_name": "OBJECT_NAME_PLACEHOLDER",
  "mapping_id": "MAPPING_ID_PLACEHOLDER",
  "enabled": "BOOLEAN_FLAG",
  "pre_run_script_id": "PRE_RUN_SCRIPT_ID_PLACEHOLDER",
  "post_run_script_id": "POST_RUN_SCRIPT_ID_PLACEHOLDER",
  "tag": "TAG_LABEL_PLACEHOLDER",
  "created": "CREATED_TIMESTAMP_PLACEHOLDER",  
  "updated": "UPDATED_TIMESTAMP_PLACEHOLDER",
  "object_mapping": "OBJECT_MAPPING_PLACEHOLDER"
}