> For the complete documentation index, see [llms.txt](https://developer.celigo.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.celigo.com/cli/commands/http-connector-endpoints.md).

# http-connector-endpoints

The endpoints of your own custom HTTP connectors — the method + relative-URI operations (`GET /orders`, `POST /orders/{id}/cancel`, …) under a connector's resources. This is the authoring half of [`http-connectors endpoints`](/cli/commands/http-connectors.md#celigo-http-connectors-endpoints): that nested read browses any resource's endpoints, including other partners' published ones, in an abridged shape; this group reaches only the endpoints your account owns, in full, and is where they are created, replaced, and deleted. An endpoint read through either route is the same object.

An endpoint attaches to one or more of your resources through `_httpConnectorResourceIds`, so create the resource first ([`http-connector-resources create`](/cli/commands/http-connector-resources.md#celigo-http-connector-resources-create)). `supportedBy.type` decides whether users build exports or imports on the endpoint.

Added in celigo-cli 2026.9.6.

**REST API**: [HTTP Connector Endpoints](https://developer.celigo.com/api/api-reference/connections-and-http-connectors/http-connector-endpoints)

```
celigo http-connector-endpoints <subcommand> [args] [flags]
```

Supports all [global flags](/cli/getting-started/global-flags.md).

***

## Subcommands

| Subcommand             | Purpose                                                               |
| ---------------------- | --------------------------------------------------------------------- |
| `list`                 | List every HTTP connector endpoint the account owns.                  |
| `get <id>`             | Fetch one endpoint by ID.                                             |
| `create`               | Create an endpoint from a JSON body (`--file <path>` or stdin).       |
| `update <id>`          | Full-replace PUT from a JSON body (`--file <path>` or stdin).         |
| `set <id> key=value …` | Edit fields through GET + modify + PUT. Supports `key=file://<path>`. |
| `delete <id>`          | Delete an endpoint. Not recoverable through the recycle bin.          |

Standard verbs only — there is no `dependencies` or `audit` here.

***

## `celigo http-connector-endpoints list`

List every HTTP connector endpoint the account owns, across all of its connectors and resources, sorted by name. The endpoint documents no field projection, so rows are trimmed client-side: `--fields` changes what is printed, not what is transferred.

**Signature**

```bash
celigo http-connector-endpoints list [--fields <spec>] [--limit <n>]
```

**Flags**

| Flag              | Type    | Default   | Description                                                                                                                                                                                                                                           |
| ----------------- | ------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--fields <spec>` | string  | `default` | Fields to print per row. `default` prints `_id`, `name`, and the table columns; `all` prints complete documents; a comma-separated list selects specific fields (dot notation allowed). See [field projection](/cli/getting-started/global-flags.md). |
| `--limit <n>`     | integer | —         | Return at most `<n>` rows, fetching a single page.                                                                                                                                                                                                    |

Default table columns: `_id`, `name`, `method`, `relativeURI`, `published`, `lastModified`.

**Example**

```bash
celigo http-connector-endpoints list --format table

# The endpoints of one resource
celigo http-connector-endpoints list \
  --jq '[.[] | select(._httpConnectorResourceIds | index("6a1b2c3d4e5f6a7b8c9d0e1f"))]'
```

**Corresponds to**: [`GET /v1/httpconnectorendpoints`](https://developer.celigo.com/api/api-reference/connections-and-http-connectors/http-connector-endpoints) — limited to endpoints the account owns.

***

## `celigo http-connector-endpoints get`

Fetch one endpoint by ID, in full.

**Signature**

```bash
celigo http-connector-endpoints get <id>
```

**Example**

```bash
celigo http-connector-endpoints get 7b2c3d4e5f6a7b8c9d0e1f2a
```

**Corresponds to**: [`GET /v1/httpconnectorendpoints/{_id}`](https://developer.celigo.com/api/api-reference/connections-and-http-connectors/http-connector-endpoints)

***

## `celigo http-connector-endpoints create`

Create an endpoint from a JSON body (`--file <path>` or stdin). Every create needs `name`, `method`, `relativeURI`, at least one id in `_httpConnectorResourceIds`, and `supportedBy.type`; a missing field fails the create with a `422` that names it (several problems are reported together). The resource ids must be your own resources, or the create fails with a `422`. `method` is uppercased on save (`get` is stored as `GET`); `supportedBy.type` (`export` or `import`) decides which kind of step users build on the endpoint. Requires `full` mode.

Since celigo-cli 2026.10.1, `create` refuses a body that is not a JSON object, and one that holds masked credential placeholders (`"******"` — four or more asterisks and nothing else), with no override.

**Signature**

```bash
celigo http-connector-endpoints create --file <path>
celigo http-connector-endpoints create < endpoint.json     # or pipe on stdin
```

**Flags**

| Flag                | Type   | Default | Description                                                                    |
| ------------------- | ------ | ------- | ------------------------------------------------------------------------------ |
| `-f, --file <path>` | string | —       | Read the JSON body from a file instead of stdin (`--file -` also means stdin). |

**Example**

```bash
cat > endpoint.json <<'EOF'
{
  "name": "List orders",
  "method": "GET",
  "relativeURI": "/orders",
  "_httpConnectorResourceIds": ["6a1b2c3d4e5f6a7b8c9d0e1f"],
  "supportedBy": { "type": "export" },
  "published": false
}
EOF
celigo http-connector-endpoints create --file endpoint.json
```

**Corresponds to**: [`POST /v1/httpconnectorendpoints`](https://developer.celigo.com/api/api-reference/connections-and-http-connectors/http-connector-endpoints)

***

## `celigo http-connector-endpoints update`

Full-replace PUT from a JSON body (`--file <path>` or stdin). Requires `full` mode.

> ⚠️ **`update` replaces the whole endpoint.** `description`, `queryParameters`, `pathParameters`, `resourceFields`, and the `supportedBy` details are cleared when the body leaves them out. GET the current document, modify it, and PUT the complete object back — or use `set`, which does that for you.

**Signature**

```bash
celigo http-connector-endpoints update <id> --file <path>
celigo http-connector-endpoints update <id> < endpoint.json     # or pipe on stdin
```

**Flags**

| Flag                | Type    | Default | Description                                                                                                                                                                                            |
| ------------------- | ------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `-f, --file <path>` | string  | —       | Read the JSON body from a file instead of stdin (`--file -` also means stdin).                                                                                                                         |
| `--force`           | boolean | `false` | Submit even if the body contains masked credential values (`"******"`) copied from a GET. Since celigo-cli 2026.10.1 a mask is four or more asterisks and nothing else; a lone `*` is sent as a value. |

**Example**

```bash
celigo http-connector-endpoints get 7b2c3d4e5f6a7b8c9d0e1f2a --format json \
  | jq '.relativeURI = "/v2/orders"' \
  | celigo http-connector-endpoints update 7b2c3d4e5f6a7b8c9d0e1f2a
```

**Corresponds to**: [`PUT /v1/httpconnectorendpoints/{_id}`](https://developer.celigo.com/api/api-reference/connections-and-http-connectors/http-connector-endpoints)

***

## `celigo http-connector-endpoints set`

Edit individual fields with `key=value` assignments. This resource has no PATCH whitelist, so every assignment goes through GET → modify → PUT with the complete document — the fields you do not name are preserved. Values are auto-parsed as JSON (`published=true` is a boolean); dot notation (`supportedBy.type=import`), array indexing, and `key=file://<path>` are supported.

`set` is blocked in `read` mode. `operate` mode allows only the operational fields on the group's own PATCH whitelist (since celigo-cli 2026.10.1; it used to allow the mode's whole list), and a connector endpoint has none, so `set` needs `full` mode. See [Profiles & regions](/cli/getting-started/profiles.md#permission-modes).

Since celigo-cli 2026.10.1, when the server's reply to the PUT still holds a field's previous value, `set` prints `not stored <field> the server answered the PUT but still holds its previous value …` on stderr and exits 1.

**Signature**

```bash
celigo http-connector-endpoints set <id> <key=value> [key=value ...]
```

**Example**

```bash
# Publish the endpoint
celigo http-connector-endpoints set 7b2c3d4e5f6a7b8c9d0e1f2a published=true

# Move it to a new path; the method is uppercased on save either way
celigo http-connector-endpoints set 7b2c3d4e5f6a7b8c9d0e1f2a relativeURI=/v2/orders method=get
```

**Corresponds to**: [`GET /v1/httpconnectorendpoints/{_id}`](https://developer.celigo.com/api/api-reference/connections-and-http-connectors/http-connector-endpoints) then [`PUT /v1/httpconnectorendpoints/{_id}`](https://developer.celigo.com/api/api-reference/connections-and-http-connectors/http-connector-endpoints)

***

## `celigo http-connector-endpoints delete`

Delete an endpoint. Prompts for confirmation unless `-y` is supplied. Requires `full` mode.

> ⚠️ **Deletes skip the recycle bin.** A deleted endpoint cannot be restored. The delete is refused while another endpoint still names this one in `supportedBy.lookupToIdentifyExisting._httpConnectorEndpointId` — update or delete that endpoint first.

**Signature**

```bash
celigo http-connector-endpoints delete <id> [-y]
```

**Flags**

| Flag        | Type    | Default | Description                   |
| ----------- | ------- | ------- | ----------------------------- |
| `-y, --yes` | boolean | `false` | Skip the confirmation prompt. |

**Example**

```bash
celigo http-connector-endpoints delete 7b2c3d4e5f6a7b8c9d0e1f2a -y
```

**Corresponds to**: [`DELETE /v1/httpconnectorendpoints/{_id}`](https://developer.celigo.com/api/api-reference/connections-and-http-connectors/http-connector-endpoints)

***

## Gotchas

* **Two routes, one object.** `http-connectors endpoints <connectorId> <resourceId>` browses one resource's endpoints — any connector's, abridged. This group lists and edits only what your account owns, in full. The document behind both is the same.
* **The resource comes first.** `_httpConnectorResourceIds` must name resources you own (a `422` otherwise), so create them with `http-connector-resources create` before the endpoint. A resource cannot be deleted while an endpoint still lists it.
* **`method` is normalized; `supportedBy.type` is an enum.** Lowercase methods are uppercased on save. A `method` or `supportedBy.type` outside its allowed values is rejected with `422`, and several problems are reported together.
* **`update` clears what it omits.** Prefer `set`, which round-trips the complete document; here every `set` is a GET + PUT, since the endpoint has no PATCH whitelist.
* **Lookups pin endpoints together.** An endpoint's `supportedBy.lookupToIdentifyExisting._httpConnectorEndpointId` names another endpoint; that reference blocks deleting the referenced endpoint until it is changed or removed.
* **Not recoverable.** Unlike most resources, a deleted connector endpoint does not land in the recycle bin.
* **Permission modes.** `list` and `get` work in `read` mode; `create`, `update`, `delete` — and, in practice, `set` — need `full`.

## Related

* [http-connector-resources](/cli/commands/http-connector-resources.md) — the resources an endpoint attaches to through `_httpConnectorResourceIds`.
* [http-connectors](/cli/commands/http-connectors.md) — the connector at the top of the tree, and the read-only `endpoints` / `endpoint` / `endpoint-detail` browse of any connector's endpoints.
