---
title: "Create an operator list"
method: POST
path: "/api/v1/operator-lists"
tags: ["Operator Lists"]
---

# Create an operator list

`POST /api/v1/operator-lists`

## Request

- Base URL: `https://partner-api.monta.com`
- URL: `https://partner-api.monta.com/api/v1/operator-lists`
- Auth: HTTP bearer

Required scope: `operator-lists:write` </br>Organization authorization: `supported`

## Request body

- CreateOperatorList
  - `name` string, required: Name of the operator list.
  - `listType` 'user' | 'team' | 'charge_point' | 'charge_points_public' | 'site' | 'charge_key' | 'vehicle', required
  - `description` string, nullable: Optional free-text description of the operator list.
  - `source` 'MANUAL' | 'FILTER'
  - `syncMode` 'MANUAL' | 'AUTO': Reconciliation mode of a filter list. The Partner API only accepts \`AUTO\` (changes are applied automatically); \`MANUAL\` can appear on a list created through the Hub and is therefore representable on reads.
  - `filterDefinition` object, nullable: Required when `source` is `FILTER`: the saved filter the list resolves its members from. Charge-point lists only.

## Response `201`

Operator list successfully created

- OperatorList
  - `id` integer, required: Id of the operator list.
  - `operatorId` integer, required: Id of the operator that owns this list.
  - `name` string, required: Name of the operator list.
  - `description` string, nullable: Free-text description of the operator list.
  - `source` string, required: Origin of the list. `partner` for lists created via the Monta API.
  - `listType` 'user' | 'team' | 'charge_point' | 'charge_points_public' | 'site' | 'charge_key' | 'vehicle', nullable: The single entity type a homogeneous list is restricted to. `null` for mixed lists that can hold multiple entity types.
  - `itemCount` integer, required: Total number of items in the list.
  - `itemCounts` object, required: Per-entity-type breakdown of the item count, keyed by entity type.
  - `createdByUserId` integer, nullable: Id of the user who created the list, when known.
  - `createdAt` string, nullable: When the list was created (ISO-8601).
  - `updatedAt` string, nullable: When the list was last updated (ISO-8601).
  - `syncMode` 'MANUAL' | 'AUTO', nullable: Reconciliation mode of a FILTER list; `null` for a manually-curated list.
  - `filterDefinition` object, nullable: The saved filter a FILTER-source list resolves its membership from; `null` for a manual list.
  - `lastSyncedAt` string, nullable: When the list was last reconciled (ISO-8601); `null` if it never has been.
  - `lastSyncStatus` 'PENDING' | 'RUNNING' | 'COMPLETED' | 'FAILED', nullable: Status of the last reconciliation.
  - `pendingSyncRun` OperatorListSyncRun
    - `id` integer, required: Id of the sync run.
    - `listId` integer, required: Id of the list this run reconciled.
    - `status` 'PENDING' | 'RUNNING' | 'COMPLETED' | 'FAILED', required: Status of the run.
    - `trigger` 'MANUAL' | 'AUTO' | 'CREATED' | 'UPDATED', required: What triggered the run.
    - `matchedCount` integer, nullable: How many entities the filter matched. Null until the run finishes.
    - `addedCount` integer, nullable: How many members were added. Null until the run finishes.
    - `removedCount` integer, nullable: How many members were removed. Null until the run finishes.
    - `proposedCount` integer, nullable: How many changes were proposed. Null until the run finishes.
    - `excludedSkippedCount` integer, nullable: How many candidates were skipped because they are excluded. Null until the run finishes.
    - `errorMessage` string, nullable: Error message when the run failed.
    - `startedAt` string, nullable: When the run started (ISO-8601).
    - `finishedAt` string, nullable: When the run finished (ISO-8601).
    - `createdAt` string, nullable: When the run was created (ISO-8601).
    - `updatedAt` string, nullable: When the run was last updated (ISO-8601).
    - `entityIdsByOutcome` object, nullable: The charge-point ids behind each outcome tally, keyed by outcome. Only returned by the single-run endpoint.

## Other responses

- `400`: The request is invalid
- `401`: Consumer with provided credentials was not found
- `403`: Operator doesn't have access to resource
- `404`: Entity with the provided id was not found

## Changes

- **2026-11-03** `0ca400461c52`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/monta/apis/monta-partner-api/changes/api/v1/operator-lists/post.md)

---

[API](https://skmtc.dev/monta/apis/monta-partner-api.md) - [All operations](https://skmtc.dev/monta/apis/monta-partner-api/llms.txt) - [OpenAPI document](https://skmtc.dev/monta/apis/monta-partner-api/revisions/0ca400461c52?raw)
