Pipelines

Create a Pipeline

This endpoint has been deprecated and may be replaced or removed in future versions of the API.

Creates a new pipeline to transform data, given an output schema. It returns the created pipeline's details. Pipelines are long-lived, so we recommend you create them outside of your application loop and reuse them.

POST
/v1-beta/pipelines
x-api-key<token>

Authenticate using API Key in request header

In: header

namestring

Name of pipeline

outputSchemaobject

Desired output structure defined in standard JSON Schema convention. Note - We DO NOT support non-alphanumeric characters in names of fields.

Empty Object

outputSchemaName?string

Name of output schema object.

webhookEnabled?booleanDeprecated

DEPRECATED - use subscriptions for webhook events. Whether webhook functionality is enabled.

webhookURL?stringDeprecated

DEPRECATED - use subscriptions for webhook events. URL bem will send webhook requests to with successful transformation outputs if webhooks are enabled for the pipeline.

independentDocumentProcessingEnabled?boolean

Whether independent transformations is enabled. For PDFs sent through the pipeline, this enables independent transformations for each individual page. For CSVs, this enables transforming chunks of rows in the CSV.

complexTabularTransformEnabled?boolean

Whether complex tabular transforms are enabled on the pipeline. This enables the pipeline to parse CSVs with multiple tables in the same file, and to transpose CSVs that can't be parsed row-wise.

Response Body

curl -X POST "https://api.bem.ai/v1-beta/pipelines" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Freight Load Pipeline",
    "outputSchema": {
      "type": "object",
      "required": [
        "tenders"
      ],
      "properties": {
        "tenders": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "loadReference",
              "origin",
              "destination",
              "weightTons",
              "loadType",
              "desiredDeliveryDate",
              "bidSubmissionDeadline",
              "submitter"
            ],
            "properties": {
              "origin": {
                "type": "string",
                "description": "The starting point of the shipment."
              },
              "loadType": {
                "type": "string",
                "description": "The type of goods being shipped."
              },
              "submitter": {
                "type": "object",
                "required": [
                  "name",
                  "position",
                  "contactInfo"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Name of the person submitting the tender."
                  },
                  "position": {
                    "type": "string",
                    "description": "Position of the submitter within their company."
                  },
                  "contactInfo": {
                    "type": "object",
                    "required": [
                      "email"
                    ],
                    "properties": {
                      "email": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address of the submitter."
                      },
                      "phone": {
                        "type": "string",
                        "description": "Phone number of the submitter."
                      }
                    }
                  }
                }
              },
              "weightTons": {
                "type": "number",
                "description": "The weight of the load in tons."
              },
              "destination": {
                "type": "string",
                "description": "The endpoint of the shipment."
              },
              "loadReference": {
                "type": "string",
                "description": "Unique identifier for the load tender."
              },
              "desiredDeliveryDate": {
                "type": "string",
                "format": "date",
                "description": "The preferred date for the shipment to be delivered."
              },
              "bidSubmissionDeadline": {
                "type": "string",
                "format": "date",
                "description": "The deadline for submitting bids."
              }
            }
          }
        }
      }
    }
  }'
{
  "pipelineID": "string",
  "name": "Freight Load Pipeline",
  "outputSchema": {
    "type": "object",
    "required": [
      "tenders"
    ],
    "properties": {
      "tenders": {
        "type": "array",
        "items": {
          "type": "object",
          "required": [
            "loadReference",
            "origin",
            "destination",
            "weightTons",
            "loadType",
            "desiredDeliveryDate",
            "bidSubmissionDeadline",
            "submitter"
          ],
          "properties": {
            "origin": {
              "type": "string",
              "description": "The starting point of the shipment."
            },
            "loadType": {
              "type": "string",
              "description": "The type of goods being shipped."
            },
            "submitter": {
              "type": "object",
              "required": [
                "name",
                "position",
                "contactInfo"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Name of the person submitting the tender."
                },
                "position": {
                  "type": "string",
                  "description": "Position of the submitter within their company."
                },
                "contactInfo": {
                  "type": "object",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "format": "email",
                      "description": "Email address of the submitter."
                    },
                    "phone": {
                      "type": "string",
                      "description": "Phone number of the submitter."
                    }
                  }
                }
              }
            },
            "weightTons": {
              "type": "number",
              "description": "The weight of the load in tons."
            },
            "destination": {
              "type": "string",
              "description": "The endpoint of the shipment."
            },
            "loadReference": {
              "type": "string",
              "description": "Unique identifier for the load tender."
            },
            "desiredDeliveryDate": {
              "type": "string",
              "format": "date",
              "description": "The preferred date for the shipment to be delivered."
            },
            "bidSubmissionDeadline": {
              "type": "string",
              "format": "date",
              "description": "The deadline for submitting bids."
            }
          }
        }
      }
    }
  },
  "outputSchemaName": "Freight Load Schema",
  "emailAddress": "eml_2c9AXFXHwiaL4vPXDTOS171OJ8T@pipeline.bem.ai",
  "webhookEnabled": true,
  "webhookURL": "https://bem-example.ai/test/url",
  "independentDocumentProcessingEnabled": false,
  "complexTabularTransformEnabled": true
}