# uip is connectors builder activity

> Syntax and options for authoring a connector's activities — resources, fields, methods, and parameters — with the Integration Service connector builder.

`uip is connectors builder activity` authors a connector's activities: the API endpoints (called *resources* in the standard-resource file) that become Studio activities, along with their fields, methods, and parameters. This is the largest and most detailed domain in the connector builder — see [Connectors builder](./uip-is-connectors-builder.md) for the shared concepts (connector-directory resolution, design vs. published, the typical authoring flow) that apply here too.

Hooks — JavaScript pre/post-request transforms attached to a resource or global — are a nested `activity hook` sub-group, documented separately on [Activity hooks](./uip-is-connectors-builder-activity-hooks.md) because of their own size and the amount of runtime-context detail they need.

:::note
`activity create` is *not* for lifecycle endpoints like auth-validation or `onProvision` — those are system resources created with `builder auth system create` (see [Auth](./uip-is-connectors-builder-auth.md)). `activity` is for the connector's regular, user-facing operations.
:::

## Synopsis

```text
uip is connectors builder activity list [--method <method>] [--path <path>] [--connector-dir <path>]
uip is connectors builder activity get [<name>] [--name <name>] [--connector-dir <path>]
uip is connectors builder activity create --name <name> [options...] [--connector-dir <path>]
uip is connectors builder activity delete <name> [--connector-dir <path>]

uip is connectors builder activity field schema
uip is connectors builder activity field list --resource <name> [--connector-dir <path>]
uip is connectors builder activity field get [<name>] --resource <name> [--name <name>] [--connector-dir <path>]
uip is connectors builder activity field create --resource <name> --name <name> [options...] [--connector-dir <path>]
uip is connectors builder activity field delete [<name>] --resource <name> [--name <name>] [--connector-dir <path>]

uip is connectors builder activity method get --resource <name> --method <method> [--connector-dir <path>]
uip is connectors builder activity method set --resource <name> --method <method> [options...] [--connector-dir <path>]
uip is connectors builder activity method curate --resource <name> --method <method> --display-name <name> [options...] [--connector-dir <path>]

uip is connectors builder activity param list --resource <name> --method <method> [--connector-dir <path>]
uip is connectors builder activity param get --resource <name> --method <method> --name <name> [--connector-dir <path>]
uip is connectors builder activity param create --resource <name> --method <method> --name <name> --type <type> [options...] [--connector-dir <path>]
uip is connectors builder activity param delete --resource <name> --method <method> --name <name> [--connector-dir <path>]
```

## Concepts

- **Resource** — one API endpoint entry in `element.json`, identified by name, path, or a `METHOD:/path` selector (e.g. `GET:/accounts`). `activity create` is a *find-or-append* operation: running it again against an existing resource name appends new methods/fields instead of overwriting the resource.
- **Field** — a UI-facing property on a resource, stored in the resource's standard-resource (SR) file. A field carries per-HTTP-method visibility (is it part of the request body, the response, is it required) plus optional design metadata for how it renders (dropdown, dependent dropdown, hidden, sort order).
- **Method** — the per-HTTP-method standard-resource config for a resource: its operation label, internal path, curation state, and description. `activity method curate` promotes a method into a standalone Studio activity.
- **Param** — a runtime request parameter (query, path, header, or body) stored in `element.json` and mirrored into the SR. Unlike fields, params describe how a value reaches the vendor API call, not how it renders as a static UI property — though a param can also become a dropdown via the same reference/enum flags as a field.
- **Dropdown / dependent dropdown** — `field create` and `param create` share an identical set of flags (`--reference`, `--reference-object`, `--reference-path`, `--lookup-value`, `--lookup-names`, `--display-pattern`, `--filter-pattern`, `--load-by-default`, `--multi-select`, `--enable-user-override`, `--depends-on`, `--field-actions`) for wiring a value to a lookup against another List resource. `--depends-on <parentField>` is a shortcut that generates the standard show/hide rule pair for a dependent dropdown (hidden until the parent has a value); `--field-actions` is the raw JSON escape hatch for conditions `--depends-on` can't express.
- **Merge semantics** — `field create`, `param create` (via `create or replace` — see below), and `method set` all merge onto an existing entry by default: keys you pass win, keys you omit are kept from the existing definition, and per-method visibility on a field is deep-merged so adding visibility for one method never drops another method's visibility. `method set --replace` is the one exception — it overwrites the whole method config, dropping anything not re-passed (including parameters and curated state).
- **Unsetting a visibility flag** — `field create --method 'GET=!request'` (note the `!` prefix) explicitly turns *off* the `request` visibility for `GET` on a merge, rather than leaving it untouched. Without the `!`, a flag is only ever additive.

## uip is connectors builder activity list

List `element.json` resource entries, optionally filtered.

### Options

| Long | Value | Description |
|---|---|---|
| `--method <method>` | string | Filter by HTTP method (`GET`, `POST`, ...). |
| `--path <path>` | string | Filter by exact resource path (e.g. `/accounts`). |
| `--connector-dir <path>` | path | Connector directory. See [Connectors builder → Concepts](./uip-is-connectors-builder.md#concepts) for the resolution order. |

### Examples

```bash
uip is connectors builder activity list
uip is connectors builder activity list --method GET
```

### Data shape (--output json)

```json
{ "Code": "ResourceList", "Data": { "Resources": [] } }
```

## uip is connectors builder activity get

Get one `element.json` resource entry, by name, path, or a `METHOD:/path` selector.

### Arguments

| Name | Required | Purpose |
|---|---|---|
| `[name]` | no | Resource name, path, or `METHOD:/path` selector (e.g. `accounts` or `'GET:/accounts'`). May also be passed as `--name`. |

### Options

| Long | Value | Description |
|---|---|---|
| `--name <name>` | string | Alternative to the positional argument, for parity with `create`/`field get`/`param get`. |
| `--connector-dir <path>` | path | Connector directory. |

### Examples

```bash
uip is connectors builder activity get accounts
uip is connectors builder activity get 'GET:/accounts'
```

### Data shape (--output json)

```json
{ "Code": "Resource", "Data": { "Resource": {} } }
```

## uip is connectors builder activity create

Create a complete resource: a standard-resource file plus one `element.json` entry per method. Re-running against an existing `--name` finds and appends rather than overwriting.

### Options

| Long | Value | Required | Description |
|---|---|---|---|
| `--name <name>` | string | **yes** | Resource name (path segment). |
| `--display-name <name>` | string | no | UI display name. Defaults from `--name`. |
| `--vendor-path <path>` | string | no | Vendor API path. Defaults to `/{name}`. |
| `--resource-path <path>` | string | no | Explicit resource path, when it differs from the vendor path. |
| `--methods <csv>` | csv | no | HTTP methods to create. Default `GET,GETBYID,POST,PATCH,DELETE`. |
| `--method-vendor-path <kv>` | `key=value`, repeatable | no | Per-method vendor-path override, e.g. `GET=/me/teams`. |
| `--primary-key <name>` | string | no | Primary key field name. Default `id`. |
| `--no-body` | flag | no | Omit the auto-added request-body parameter on POST/PUT/PATCH — for path-only actions like a start/stop call that needs only an id in the path. |
| `--resource-type <type>` | string | no | `ResourceType` value (`api`, `apiElementRequest`, ...). Default `api`. |
| `--has-ceql` | flag | no | Enable CEQL filtering on GET. |
| `--has-events` | flag | no | Mark the resource as event-capable. |
| `--has-bulk` | flag | no | Enable bulk download support. |
| `--pagination-type <type>` | string | no | Pagination type for GET. |
| `--root-key <key>` | string | no | Response root key holding the records. |
| `--next-page-key <key>` | string | no | Response key carrying the next page token. |
| `--filter-param <vendorName>` | string | no | Vendor query-param name the CEQL filter maps to. Default `where` (e.g. `sysparm_query` for ServiceNow-style APIs). |
| `--page-size-param <vendorName>` | string | no | Vendor query-param name for page size. Default `pageSize` (e.g. `sysparm_limit`, `per_page`). |
| `--offset-param <vendorName>` | string | no | Vendor query-param name for row offset / page number (e.g. `sysparm_offset`, `page`). |
| `--next-resource <selector>` | string | no | Chain to a next resource (e.g. `'GET:/organization'`). |
| `--curated-metadata <json>` | JSON | no | Per-method curated metadata, inline. Mutually exclusive with `--curated-metadata-file`. |
| `--curated-metadata-file <path>` | path | no | Per-method curated metadata, from a file. |
| `--fields <json>` | JSON | no | Field specs as an inline JSON array. Mutually exclusive with `--fields-file`. See `activity field schema` for the shape. |
| `--fields-file <path>` | path | no | Field specs from a JSON file. |
| `--skip-sr` | flag | no | Skip standard-resource file creation. |
| `--no-curate` | flag | no | Do not auto-curate methods into standalone Studio activities. Default is to curate. |
| `--overwrite-fields` | flag | no | When appending to an existing resource, let incoming field definitions win on a name collision. Default keeps the existing definition. |
| `--connector-dir <path>` | path | no | Connector directory. |

Passing both `--fields` and `--fields-file` (or both `--curated-metadata` and `--curated-metadata-file`) is an error. The `--fields`/`--fields-file` payload is validated and normalized *before* anything is written, so a malformed field spec fails fast with a precise error instead of silently authoring a broken standard-resource file.

### Examples

```bash
# CRUD resource with default methods
uip is connectors builder activity create --name accounts --vendor-path /accounts --has-ceql

# List-only resource with cursor pagination
uip is connectors builder activity create --name orders --methods GET \
  --pagination-type cursor --next-page-key nextCursor --root-key data
```

### Data shape (--output json)

```json
{
  "Code": "ResourceCreated",
  "Data": {
    "ResourceName": "accounts",
    "ConnectorRoot": "/work/my-connector",
    "ResourceType": "api",
    "SrResolution": "created",
    "MethodsAdded": ["GET", "GETBYID", "POST", "PATCH", "DELETE"],
    "ElementEntriesAdded": 5,
    "ElementEntriesSkipped": 0,
    "FieldsCount": 0,
    "ParamsSyncedFromElement": 0,
    "StandardResourceFile": "app/element/accounts.js",
    "SkipSr": false,
    "Warnings": []
  }
}
```

## uip is connectors builder activity delete

Remove a resource: every matching `element.json` entry and its standard-resource file.

### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<name>` | yes | Resource name. |

### Options

| Long | Value | Description |
|---|---|---|
| `--connector-dir <path>` | path | Connector directory. |

### Example

```bash
uip is connectors builder activity delete accounts
```

### Data shape (--output json)

```json
{
  "Code": "ResourceRemoved",
  "Data": {
    "ResourceName": "accounts",
    "RemovedEntries": 5,
    "StandardResourceRemoved": true
  }
}
```

This removes an entire resource. To remove a single method instead, edit the resource narrower with `activity method set --replace`, or delete and re-`create` with a reduced `--methods` list — there is no dedicated "remove one method" verb.

---

## activity field

Manage a resource's standard-resource fields — its UI-facing shape.

### uip is connectors builder activity field schema

Print the field-spec schema (allowed keys, types, visibility) plus a valid example, for authoring `--fields`/`--fields-file` payloads on `activity create` or `activity field create`. Needs no connector — this is a static, connector-independent reference command.

No arguments or options beyond global ones.

#### Example

```bash
uip is connectors builder activity field schema
```

#### Data shape (--output json)

Returned with its native lowercase keys (not PascalCased), so the `example` array is directly copy-paste-authorable:

```json
{
  "Code": "FieldSchema",
  "Data": {
    "keys": [
      { "key": "name", "required": true, "description": "REQUIRED. Field name; becomes the SR fields[] key (dotted a.b and arr[*].x allowed)." },
      { "key": "type", "required": false, "description": "Scalar type. Optional on merge; defaults to 'string' for a new field." }
    ],
    "types": ["string", "..."],
    "designPositions": ["primary", "secondary", "none"],
    "visibilityMethods": ["GET", "..."],
    "visibilityKeys": ["request", "response", "required", "requestCurated", "responseCurated"],
    "notes": [
      "Pass an ARRAY of these objects to --fields '<json>' or --fields-file <path> on `activity create`.",
      "The array is validated + normalized before anything is written; a bad shape fails fast listing every problem.",
      "Unknown top-level keys and duplicate names are rejected. Put 'required' inside a method entry, not at top level.",
      "To bulk-add fields to an EXISTING activity, re-run `activity create --name <same> --fields-file <path>` — it merges."
    ],
    "example": [
      { "name": "id", "type": "string", "primaryKey": true, "method": { "GET": { "response": true } } },
      { "name": "email", "type": "string", "displayName": "Email", "searchable": true, "searchableOperators": ["=", "!="], "method": { "GET": { "response": true }, "POST": { "request": true, "response": true, "required": true } } }
    ]
  }
}
```

The full key list (from source) also includes `nativeType`, `description`, `sampleValue`, `format`, `mask` (a date/number *format pattern string*, e.g. `"yyyy-MM-dd'T'HH:mm:ssZ"` — not a boolean), `design`, `methods` (alias for `method`, not both), `enum`, `enhancedEnum`, `reference`, `sortOrder`, `searchableNames`, `defaultValue`, `custom`, `order`, `isCuratedEventField`, `isPriority`, `key`, and `fieldActions`.

### uip is connectors builder activity field list

List every field in a resource's standard-resource.

#### Options

| Long | Value | Required | Description |
|---|---|---|---|
| `--resource <name>` | string | **yes** | Resource name. |
| `--connector-dir <path>` | path | no | Connector directory. |

#### Example

```bash
uip is connectors builder activity field list --resource accounts
```

#### Data shape (--output json)

```json
{ "Code": "FieldList", "Data": { "Resource": "accounts", "Fields": [] } }
```

### uip is connectors builder activity field get

Read one field by name.

#### Arguments

| Name | Required | Purpose |
|---|---|---|
| `[name]` | no | Field name (or pass `--name`). |

#### Options

| Long | Value | Required | Description |
|---|---|---|---|
| `--resource <name>` | string | **yes** | Resource name. |
| `--name <name>` | string | no | Alternative to the positional argument. |
| `--connector-dir <path>` | path | no | Connector directory. |

#### Example

```bash
uip is connectors builder activity field get --resource accounts name
```

#### Data shape (--output json)

```json
{ "Code": "Field", "Data": { "Resource": "accounts", "Field": {} } }
```

### uip is connectors builder activity field create

Create or update a field on a resource's standard-resource. Re-running on an existing field **merges**: top-level keys you pass win, unspecified keys are kept, and per-method visibility is deep-merged so adding a method's visibility never drops another method's.

Not for adding a runtime request parameter — use `activity param create` for that.

#### Options

| Long | Value | Required | Description |
|---|---|---|---|
| `--resource <name>` | string | **yes** | Resource name. |
| `--name <name>` | string | **yes** | Field name (becomes the `fields` map key). |
| `--type <type>` | string | no* | Field type (`string`, `integer`, ...). Required for a NEW field; optional when merging into an existing one. |
| `--native-type <type>` | string | no | Vendor-native type name. Defaults to `--type`. |
| `--display-name <name>` | string | no | UI display name. |
| `--description <text>` | string | no | Field description. |
| `--sample-value <value>` | string | no | Sample value shown in the designer. |
| `--format <format>` | string | no | Field format hint (e.g. `date-time`, `int32`). |
| `--enum <json>` | JSON | no | Allowed values — bare `["a","b"]` or `[{"value":"a"}]`. |
| `--enhanced-enum <json>` | JSON | no | Labelled options: `[{"name":"Label","value":"V"}]`. |
| `--reference <json>` | JSON | no | Dynamic lookup as JSON, e.g. `{"objectName":"users","path":"/users","lookupValue":"id","lookupNames":["name"]}`. |
| `--reference-object <name>` | string | no | Dropdown: target List resource's object name (e.g. `teams`). |
| `--reference-path <path>` | string | no | Dropdown: the List resource path (e.g. `/teams`). Use `{parent}` for a dependent dropdown, e.g. `/teams/{team_id}/channels`. |
| `--lookup-value <field>` | string | no | Dropdown: the one field sent as the value. |
| `--lookup-names <csv>` | csv | no | Dropdown: display-candidate fields for the display pattern. |
| `--display-pattern <pattern>` | string | no | Dropdown: visible label template, e.g. `"{displayName}"` or `"{name} - {id}"`. |
| `--filter-pattern <pattern>` | string | no | Dropdown: server-side type-ahead filter template with `{filter}`. |
| `--load-by-default` | flag | no | Dropdown: populate the list on open. |
| `--multi-select` | flag | no | Dropdown: allow selecting multiple values. |
| `--enable-user-override` | flag | no | Dropdown: let the user type a raw value instead of picking. |
| `--depends-on <parent>` | string | no | Dependent dropdown: hide until `<parent>` has a value (generates the show/hide rule pair). The reference path should contain `{<parent>}`. |
| `--field-actions <json>` | JSON | no | Show/hide/required rules as JSON — escape hatch beyond `--depends-on`. |
| `--default-value <value>` | scalar or JSON | no | Default value. |
| `--mask <pattern>` | string | no | Date/number format pattern, e.g. `"yyyy-MM-dd'T'HH:mm:ssZ"`. |
| `--primary-key` | flag | no | Mark the field as the primary key. |
| `--sort-order <n>` | integer | no | Sort order. |
| `--searchable` | flag | no | Mark the field as searchable. |
| `--searchable-operators <csv>` | csv | no | Searchable operators. |
| `--searchable-names <csv>` | csv | no | Alternate names to match in queries. |
| `--method <method>` | string, repeatable | no | HTTP method the visibility flags apply to. Two forms, mixable: uniform (`--method GET --method POST --response` applies the same flags to both) or inline per-method (`--method 'GET=response' --method 'POST=request,required'`). Prefix a flag with `!` to unset it on a merge, e.g. `--method 'GET=!request'`. |
| `--request` | flag | no | Field is part of the request, for each `--method`. |
| `--response` | flag | no | Field is part of the response, for each `--method`. |
| `--required` | flag | no | Field is required, for each `--method`. |
| `--request-curated` | flag | no | Field is request-curated, for each `--method`. |
| `--response-curated` | flag | no | Field is response-curated, for each `--method`. |
| `--design-position <position>` | `primary`\|`secondary`\|`none` | no | Design position. |
| `--component <component>` | string | no | Design component override. |
| `--hidden` | flag | no | Hide the field in the designer. |
| `--connector-dir <path>` | path | no | Connector directory. |

Inline per-method visibility tokens are: `request`, `response`, `required`, `requestCurated` (or `request-curated`), `responseCurated` (or `response-curated`). An unrecognized token fails with an explicit error listing the valid set.

#### Examples

```bash
# String field, visible as a response on both GET and POST
uip is connectors builder activity field create --resource accounts --name email \
  --type string --method GET --method POST --response

# Add request visibility on PATCH without dropping the existing GET/POST visibility (merges)
uip is connectors builder activity field create --resource accounts --name email \
  --type string --method PATCH --request
```

#### Data shape (--output json)

```json
{
  "Code": "FieldWritten",
  "Data": {
    "Resource": "accounts",
    "FieldName": "email",
    "Field": { "name": "email", "type": "string" },
    "Outcome": "created"
  }
}
```

### uip is connectors builder activity field delete

Remove a field by name.

#### Arguments

| Name | Required | Purpose |
|---|---|---|
| `[name]` | no | Field name (or pass `--name`). |

#### Options

| Long | Value | Required | Description |
|---|---|---|---|
| `--resource <name>` | string | **yes** | Resource name. |
| `--name <name>` | string | no | Alternative to the positional argument. |
| `--connector-dir <path>` | path | no | Connector directory. |

#### Example

```bash
uip is connectors builder activity field delete --resource accounts email
```

#### Data shape (--output json)

```json
{ "Code": "FieldRemoved", "Data": { "Resource": "accounts", "FieldName": "email" } }
```

---

## activity method

Manage a resource's per-method standard-resource config: operation label, internal path, curation state.

### uip is connectors builder activity method get

Read a method's standard-resource config.

#### Options

| Long | Value | Required | Description |
|---|---|---|---|
| `--resource <name>` | string | **yes** | Resource name. |
| `--method <method>` | string | **yes** | HTTP method (`GET`, `POST`, ...). |
| `--connector-dir <path>` | path | no | Connector directory. |

#### Example

```bash
uip is connectors builder activity method get --resource accounts --method GET
```

#### Data shape (--output json)

```json
{
  "Code": "Method",
  "Data": { "Resource": "accounts", "Method": "GET", "VendorPath": "/accounts", "Config": {} }
}
```

`VendorPath` is surfaced separately because the standard-resource config only holds the *internal* path — the vendor-facing routing lives in `element.json`.

### uip is connectors builder activity method set

Create or edit a method's standard-resource config. Merges the flags you pass onto the existing config by default; `--replace` overwrites the whole block instead.

#### Options

| Long | Value | Required | Description |
|---|---|---|---|
| `--resource <name>` | string | **yes** | Resource name. |
| `--method <method>` | string | **yes** | HTTP method. |
| `--operation <operation>` | string | no | Operation label (`List`, `Retrieve`, ...). |
| `--operation-id <id>` | string | no | Operation identifier. |
| `--description <text>` | string | no | Method description. |
| `--path <path>` | string | no | Standard-resource method path. |
| `--hidden` | flag | no | Hide the method from the designer. |
| `--has-ceql` | flag | no | Enable CEQL on this method. |
| `--response-display-name <name>` | string | no | Response display name. |
| `--response-description <text>` | string | no | Response description. |
| `--replace` | flag | no | Overwrite the whole method config instead of merging. **Drops parameters/curated state not re-passed.** |
| `--connector-dir <path>` | path | no | Connector directory. |

#### Example

```bash
uip is connectors builder activity method set --resource accounts --method GET \
  --operation List --path /accounts --has-ceql
```

#### Data shape (--output json)

```json
{ "Code": "MethodSet", "Data": { "Resource": "accounts", "Method": "GET", "Outcome": "updated" } }
```

### uip is connectors builder activity method curate

Promote a method to a standalone Studio activity.

#### Options

| Long | Value | Required | Description |
|---|---|---|---|
| `--resource <name>` | string | **yes** | Resource name. |
| `--method <method>` | string | **yes** | HTTP method. |
| `--display-name <name>` | string | **yes** | Studio activity display name. |
| `--name <name>` | string | no | Activity identifier. Defaults to the display name. |
| `--description <text>` | string | no | Activity description. |
| `--hidden` | flag | no | Hide the activity. |
| `--connector-dir <path>` | path | no | Connector directory. |

Only the flags you actually pass are sent — a display-name-only call merges into the existing curated block rather than resetting the identifier or blanking the description.

#### Example

```bash
uip is connectors builder activity method curate --resource accounts --method GET \
  --display-name 'List Accounts'
```

#### Data shape (--output json)

```json
{ "Code": "MethodCurated", "Data": { "Resource": "accounts", "Method": "GET", "Curated": {} } }
```

---

## activity param

Manage a resource method's runtime parameters in `element.json` (mirrored to the standard-resource).

### uip is connectors builder activity param list

#### Options

| Long | Value | Required | Description |
|---|---|---|---|
| `--resource <name>` | string | **yes** | Resource name. |
| `--method <method>` | string | **yes** | HTTP method. |
| `--connector-dir <path>` | path | no | Connector directory. |

#### Example

```bash
uip is connectors builder activity param list --resource accounts --method GET
```

#### Data shape (--output json)

```json
{ "Code": "ParamList", "Data": { "Resource": "accounts", "Method": "GET", "Parameters": [] } }
```

### uip is connectors builder activity param get

#### Options

| Long | Value | Required | Description |
|---|---|---|---|
| `--resource <name>` | string | **yes** | Resource name. |
| `--method <method>` | string | **yes** | HTTP method. |
| `--name <name>` | string | **yes** | Parameter name. |
| `--connector-dir <path>` | path | no | Connector directory. |

#### Example

```bash
uip is connectors builder activity param get --resource accounts --method GET --name where
```

#### Data shape (--output json)

```json
{ "Code": "Param", "Data": { "Resource": "accounts", "Method": "GET", "Param": {} } }
```

### uip is connectors builder activity param create

Create or replace a parameter on a resource method.

#### Options

| Long | Value | Required | Description |
|---|---|---|---|
| `--resource <name>` | string | **yes** | Resource name. |
| `--method <method>` | string | **yes** | HTTP method. |
| `--name <name>` | string | **yes** | Parameter name. |
| `--vendor-name <name>` | string | no | Vendor-side parameter name. |
| `--type <type>` | string | **yes** | Parameter type — run `param create --help` for the full type catalog, sourced from the CLI's parameter-type registry (`--type` accepts, among others, values like a plain scalar type or `value`/`configuration` for constants and 1:1 config maps — prefer a declarative type here over writing a hook). |
| `--vendor-type <type>` | string | no | Vendor-side parameter type. |
| `--data-type <type>` | string | no | Data type (`string`, `integer`, ...). |
| `--vendor-data-type <type>` | string | no | Vendor-side data type. |
| `--source <source>` | string | no | Parameter source (`request`, `response`). |
| `--required` | flag | no | Mark the parameter as required. |
| `--description <text>` | string | no | Parameter description. |
| `--display-name <name>` | string | no | UI display name. |
| `--sort-order <n>` | integer | no | Sort order. |
| `--enum <json>` | JSON | no | Allowed values, same shape as `field create --enum` — a query/body param can be a static combo. |
| `--enhanced-enum <json>` | JSON | no | Labelled options, same shape as `field create --enhanced-enum`. |
| `--reference <json>` / `--reference-object` / `--reference-path` / `--lookup-value` / `--lookup-names` / `--filter-pattern` / `--display-pattern` / `--load-by-default` / `--multi-select` / `--enable-user-override` / `--depends-on` / `--field-actions` | — | no | Identical dropdown/dependent-dropdown flags as `field create` — see that section above. A path or query param can be a dropdown too. |
| `--design-position <position>` | `primary`\|`secondary`\|`none` | no | Design position. |
| `--hidden` | flag | no | Hide the parameter in the designer. |
| `--connector-dir <path>` | path | no | Connector directory. |

`--type` is genuinely required; its exact allowed values come from the CLI's own parameter-type registry and are printed in full by `param create --help`, so this page doesn't hardcode a list that would drift from the shipped registry.

#### Example

```bash
uip is connectors builder activity param create --resource accounts --method GET \
  --name status --type query --data-type string
```

#### Data shape (--output json)

```json
{
  "Code": "ParamWritten",
  "Data": {
    "Resource": "accounts",
    "Method": "GET",
    "ParamName": "status",
    "Param": { "name": "status", "type": "query" },
    "Outcome": "created",
    "SrSynced": true
  }
}
```

`Warnings` is present only when the write produced any.

### uip is connectors builder activity param delete

#### Options

| Long | Value | Required | Description |
|---|---|---|---|
| `--resource <name>` | string | **yes** | Resource name. |
| `--method <method>` | string | **yes** | HTTP method. |
| `--name <name>` | string | **yes** | Parameter name. |
| `--connector-dir <path>` | path | no | Connector directory. |

#### Example

```bash
uip is connectors builder activity param delete --resource accounts --method GET --name status
```

#### Data shape (--output json)

```json
{
  "Code": "ParamRemoved",
  "Data": { "Resource": "accounts", "Method": "GET", "ParamName": "status", "SrSynced": true }
}
```

## Related

- [Connectors builder](./uip-is-connectors-builder.md) — concepts and the four tenant-lifecycle verbs.
- [Activity hooks](./uip-is-connectors-builder-activity-hooks.md) — JavaScript pre/post-request transforms attached to a resource or global.
- [Init & connector](./uip-is-connectors-builder-init.md) — scaffold the connector this activity lives in.
- [Auth](./uip-is-connectors-builder-auth.md) — configure the connector's authentication scheme, including lifecycle/system resources.
- [Trigger & state](./uip-is-connectors-builder-trigger.md) — event triggers and low-level element-file edits.

## See also

- [Integration Service tool overview](./uip-is.md)
- [Global options](./global-options.md)
- [Exit codes](./exit-codes.md)
