> For the complete documentation index, see [llms.txt](https://docs.quipuswap.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.quipuswap.com/smart-contracts/dex-2.0/dexcore-contract/entrypoints-overview/fa2-entrypoints/update_operators.md).

# update\_operators

An entrypoint works exactly like FA2 ***update\_operators*** entrypoint according to [TZIP-012](https://gitlab.com/tezos/tzip/-/blob/master/proposals/tzip-12/tzip-12.md).

### Call parameters

```pascaligo
type token_id_t         is nat

type operator_t         is [@layout:comb] record [
  owner                   : address;
  operator                : address;
  token_id                : token_id_t;
]

type update_operator_t  is
| Add_operator            of operator_t
| Remove_operator         of operator_t

type update_operators_t is list(update_operator_t)
```

<table><thead><tr><th width="150">Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>owner</td><td>address</td><td>Owner of tokens</td></tr><tr><td>operator</td><td>address</td><td>Operator of tokens</td></tr><tr><td>token_id</td><td>token_id_t</td><td>Token ID</td></tr></tbody></table>

### Usage

{% tabs %}
{% tab title="🌮 Taquito" %}

```javascript
const dexCoreAddress = "KT1...";
const params = [
    {
        add_operator: {
            owner: "tz1.../KT1...",
            operator: "tz1.../KT1...",
            token_id: 0,
        },
    },
    {
        remove_operator: {
            owner: "tz1.../KT1...",
            operator: "tz1.../KT1...",
            token_id: 1,
         },
     },
     ...
];
const dexCore = await tezos.contract.at(dexCoreAddress);
const operation = await dexCore.methods.update_operators(params).send();

await operation.confirmation();
```

{% endtab %}
{% endtabs %}

### Errors

* `412` - non payable entrypoint (can't accept TEZ tokens during call of an entrypoint).
* `FA2_TOKEN_UNDEFINED` - token with `token_id` doesn't exist.
* `FA2_NOT_OWNER` - `sender` is not `owner` of account.
