# Create Pipeline

`Create_Pipeline` creates a new GovTribe pipeline and returns the created pipeline resource as JSON text.

## Input Contract

* `name`: Pipeline display name.
  * `type`: `string`
  * `required`: `yes`
  * `default`: `n/a`
  * `shape`: `max length 100`
* `description`: Optional pipeline description for team usage guidance.
  * `type`: `string`
  * `required`: `no`
  * `default`: `omit for no description`
  * `shape`: `max length 1000`
* `stageCount`: Number of user stages to create in the new pipeline.
  * `type`: `integer`
  * `required`: `yes`
  * `default`: `3`
  * `shape`: `min 1, max 99`

## Output Contract

* Top-level keys:
  * `govtribe_id`
  * `govtribe_type`
  * `govtribe_url`
  * `name`
  * `description`
  * `created_at`
  * `updated_at`
  * `owner`
  * `creator`
  * `stages`
* Row keys:
  * `n/a`
* Relationship retrieval map:
  * `creator`
    * `resource_type`: `user`
    * `tool`: `Search_Users`
    * `filter`: `user_ids`
    * `nested_keys`: `govtribe_id`, `govtribe_type`, `name`, `email`
  * `owner`
    * `resource_type`: `user`
    * `tool`: `Search_Users`
    * `filter`: `user_ids`
    * `nested_keys`: `govtribe_id`, `govtribe_type`, `name`, `email`
  * `stages`
    * `resource_type`: `stage`
    * `tool`: `Search_Stages`
    * `filter`: `creator_ids`
    * `nested_keys`: `govtribe_id`, `govtribe_type`, `govtribe_url`, `name`, `type`

## Usage Patterns

Pattern A: Create a pipeline with required fields. Tool: `Create_Pipeline`

```json
{
  "name": "Federal IT Capture",
  "stageCount": 3
}
```
