diy-template-creation

The DIY Template API allows programmatic creation of custom templates without using the UI. The API accepts a list of blocks in order and wires them into a new template.

Overview and prerequisites

Getting workspace ID

Retrieving available processors

Use the following endpoint to list all available block types with their name (blockType identifier), description, and whether they are source blocks. Use this to validate blockType values before creating a DIY template.

GET /api/v1/processors

blockTypeDescription
sftp_pullPoll SFTP server and download matching files
s3_pullPoll S3 bucket and download files
kafka_connect_to_sourceKafka pull connect to source
optional_decrypt_contentDecryption block
optional_encrypt_contentEncryption block
csv_json_neo_transformerCSV to JSON transformer for DIY templates
neo_transformerNeo transformer (applies business logic)
retro_destinationOAuth-based InTouch Transaction Add V2 Retro
intouch_transaction_v2OAuth-based InTouch Transaction Add V2
ok_fileOK file presence check

Creating a template via API

POST /api/v1/templates/diy

ParameterDescription
name *Name of the template being created
blockList *Array of block objects defining the template structure
blockName *Display name for the block (customizable)
blockType *The processor type identifier. Must match the name field from GET Processors response
blockOrder *Position of the block in the dataflow. Source block = 0, subsequent blocks increment by 1

* Required parameter

Sample request:

{
  "name": "My_Custom_Template",
  "blockList": [
    { "blockName": "Connect to Source", "blockType": "sftp_pull", "blockOrder": 0 },
    { "blockName": "CSV to JSON", "blockType": "csv_json_neo_transformer", "blockOrder": 1 },
    { "blockName": "Neo Transformer", "blockType": "neo_transformer", "blockOrder": 2 },
    { "blockName": "Connect to Destination", "blockType": "retro_destination", "blockOrder": 3 }
  ]
}

blockType reference

Block nameblockTypeCategoryKey purpose
Connect to Sourcesftp_pullSourceFetch files from SFTP/FTP
Connect to Source (S3)s3_pullSourceFetch files from S3
Kafka sourcekafka_connect_to_sourceSourceConsume from Kafka topic
Decrypt dataoptional_decrypt_contentProcessingDecrypt encrypted files
Join dataJoinProcessorProcessingMerge two CSV files
Hash CSV fieldsHashCSVProcessorProcessingHash/mask sensitive columns
Rebuild / Define headersHeaderProcessorProcessingRename and reorder CSV headers
Transform dataAryaProcessorProcessingMap CSV columns to API fields
CSV-to-XMLCsvToXmlProcessorProcessingConvert CSV to XML format
CSV-to-JSON (Neo DIY)csv_json_neo_transformerProcessingConvert CSV to JSON for Neo
Neo transformerneo_transformerProcessingApply Neo business logic
Encrypt dataoptional_encrypt_contentProcessingEncrypt output file
Connect to DestinationPutSFTPProcessorDestinationTransfer file to SFTP/FTP
Connect to Destination (API)CBRequestProcessorDestinationPost data to Capillary API
Push to S3PutS3ObjectV2DestinationUpload file to S3 bucket
OAuth clientOAuthClientProcessorControlGenerate OAuth token for API calls
Trigger(Cron scheduler)ControlSchedule dataflow execution