# Triggers

Trigger lifecycle management

## GET /triggers

> List triggers

```json
{"openapi":"3.0.3","info":{"title":"Mimic Protocol API","version":"1.0.1"},"tags":[{"name":"Triggers","description":"Trigger lifecycle management"}],"servers":[{"url":"https://api-protocol.mimic.fi"}],"paths":{"/triggers":{"get":{"summary":"List triggers","operationId":"getTriggers","tags":["Triggers"],"parameters":[{"name":"sigs","in":"query","description":"Comma-separated list of trigger signatures to filter by","schema":{"type":"string"}},{"name":"functionCid","in":"query","schema":{"$ref":"#/components/schemas/CID"}},{"name":"signer","in":"query","schema":{"$ref":"#/components/schemas/Address"}},{"name":"active","in":"query","description":"Filter by active state","schema":{"type":"boolean"}},{"name":"createdAfter","in":"query","schema":{"$ref":"#/components/schemas/Timestamp"}},{"name":"createdBefore","in":"query","schema":{"$ref":"#/components/schemas/Timestamp"}},{"$ref":"#/components/parameters/OffsetParam"},{"$ref":"#/components/parameters/LimitParam"},{"$ref":"#/components/parameters/SortParam"}],"responses":{"200":{"description":"List of triggers","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Trigger"}}}}}}}}},"components":{"schemas":{"CID":{"type":"string","description":"An IPFS content identifier (CIDv0 or CIDv1 base32)."},"Address":{"type":"string","description":"A valid EVM (0x-prefixed hex) address."},"Timestamp":{"type":"integer","description":"Unix timestamp in milliseconds."},"Trigger":{"type":"object","required":["sig","functionCid","signer","version","description","createdAt","input","config","executionFeeLimit","minValidations","types","endDate"],"properties":{"sig":{"$ref":"#/components/schemas/Signature"},"functionCid":{"$ref":"#/components/schemas/CID"},"signer":{"$ref":"#/components/schemas/Address"},"version":{"$ref":"#/components/schemas/SemVer"},"description":{"type":"string"},"deactivateSig":{"$ref":"#/components/schemas/Signature"},"createdAt":{"type":"string","format":"date-time"},"input":{"type":"object","additionalProperties":true},"config":{"$ref":"#/components/schemas/TriggerConfig"},"executionFeeLimit":{"$ref":"#/components/schemas/BigInteger"},"minValidations":{"type":"integer","minimum":0},"types":{"$ref":"#/components/schemas/TriggerTypes"},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"Signature":{"type":"string","description":"A 65-byte hex-encoded ECDSA signature (130 hex chars + 0x prefix)."},"SemVer":{"type":"string","description":"A semantic version string."},"TriggerConfig":{"description":"Trigger schedule configuration. Discriminated by the integer `type` field: `0` → CronTriggerConfig, `1` → EventTriggerConfig, `2` → OnceTriggerConfig.\n","oneOf":[{"$ref":"#/components/schemas/CronTriggerConfig"},{"$ref":"#/components/schemas/EventTriggerConfig"},{"$ref":"#/components/schemas/OnceTriggerConfig"}]},"CronTriggerConfig":{"type":"object","required":["type","schedule","delta","endDate"],"properties":{"type":{"type":"integer","enum":[0]},"schedule":{"type":"string","description":"A valid cron expression (e.g. `\"0 * * * *\"`)"},"delta":{"type":"string","description":"A time delta string (e.g. `\"1d\"`, `\"30m\"`)"},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"EventTriggerConfig":{"type":"object","required":["type","chainId","contract","topics","delta","endDate"],"properties":{"type":{"type":"integer","enum":[1]},"chainId":{"$ref":"#/components/schemas/ChainId"},"contract":{"description":"Contract address to filter events from, or `\"any\"` for any contract","oneOf":[{"$ref":"#/components/schemas/Address"},{"type":"string","enum":["any"]}]},"topics":{"type":"array","description":"Array of 1–4 topic groups. Each group is an OR filter; groups are AND-combined.\n","minItems":1,"maxItems":4,"items":{"type":"array","items":{"$ref":"#/components/schemas/HexString"}}},"delta":{"type":"string","description":"Time delta after the event before execution fires"},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"ChainId":{"type":"integer","description":"A supported chain ID."},"HexString":{"type":"string","description":"An arbitrary 0x-prefixed hex string."},"OnceTriggerConfig":{"type":"object","required":["type","startDate","delta","endDate"],"properties":{"type":{"type":"integer","enum":[2]},"startDate":{"$ref":"#/components/schemas/Timestamp"},"delta":{"type":"string","description":"Duration window; `endDate` must equal `startDate + delta`"},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"BigInteger":{"type":"string","description":"A non-negative integer represented as a decimal string."},"TriggerTypes":{"type":"object","required":["Input","Config","Trigger"],"description":"EIP-712 type definitions for the trigger's typed data","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"properties":{"Input":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"Config":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"Trigger":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}}}},"TypedDataField":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string"},"type":{"type":"string","description":"Solidity type or a custom type (`Token`, `TokenAmount`)"}}}},"parameters":{"OffsetParam":{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0}},"LimitParam":{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":10}},"SortParam":{"name":"sort","in":"query","description":"Sort order: `1` for ascending, `-1` for descending","schema":{"type":"integer","enum":[1,-1],"default":-1}}}}}
```

## Create a new trigger

> Registers a new trigger. The \`typedData\` is an EIP-712 typed data structure signed by \`signer\`. The signature is recovered on-chain to verify ownership.<br>

```json
{"openapi":"3.0.3","info":{"title":"Mimic Protocol API","version":"1.0.1"},"tags":[{"name":"Triggers","description":"Trigger lifecycle management"}],"servers":[{"url":"https://api-protocol.mimic.fi"}],"paths":{"/triggers":{"post":{"summary":"Create a new trigger","description":"Registers a new trigger. The `typedData` is an EIP-712 typed data structure signed by `signer`. The signature is recovered on-chain to verify ownership.\n","operationId":"createTrigger","tags":["Triggers"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerCreateRequest"}}}},"responses":{"200":{"description":"Trigger created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Trigger"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}}}}},"components":{"schemas":{"TriggerCreateRequest":{"type":"object","required":["description","typedData","sig","signer"],"properties":{"description":{"type":"string"},"typedData":{"$ref":"#/components/schemas/TriggerTypedData"},"sig":{"allOf":[{"$ref":"#/components/schemas/Signature"}],"description":"EIP-712 signature over `typedData` by `signer`"},"signer":{"$ref":"#/components/schemas/EvmAddress"}}},"TriggerTypedData":{"type":"object","required":["types","values"],"properties":{"types":{"$ref":"#/components/schemas/TriggerTypes"},"values":{"$ref":"#/components/schemas/TriggerTypedDataValues"}}},"TriggerTypes":{"type":"object","required":["Input","Config","Trigger"],"description":"EIP-712 type definitions for the trigger's typed data","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"properties":{"Input":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"Config":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"Trigger":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}}}},"TypedDataField":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string"},"type":{"type":"string","description":"Solidity type or a custom type (`Token`, `TokenAmount`)"}}},"TriggerTypedDataValues":{"type":"object","required":["functionCid","version","input","config","executionFeeLimit","minValidations"],"properties":{"functionCid":{"$ref":"#/components/schemas/CID"},"version":{"$ref":"#/components/schemas/SemVer"},"input":{"type":"object","additionalProperties":true,"description":"Key-value map matching the function's manifest input schema"},"config":{"$ref":"#/components/schemas/TriggerConfig"},"executionFeeLimit":{"allOf":[{"$ref":"#/components/schemas/BigInteger"}],"description":"Maximum fee (in protocol units) the signer accepts per execution"},"minValidations":{"type":"integer","minimum":0,"description":"Minimum number of validator confirmations required"}}},"CID":{"type":"string","description":"An IPFS content identifier (CIDv0 or CIDv1 base32)."},"SemVer":{"type":"string","description":"A semantic version string."},"TriggerConfig":{"description":"Trigger schedule configuration. Discriminated by the integer `type` field: `0` → CronTriggerConfig, `1` → EventTriggerConfig, `2` → OnceTriggerConfig.\n","oneOf":[{"$ref":"#/components/schemas/CronTriggerConfig"},{"$ref":"#/components/schemas/EventTriggerConfig"},{"$ref":"#/components/schemas/OnceTriggerConfig"}]},"CronTriggerConfig":{"type":"object","required":["type","schedule","delta","endDate"],"properties":{"type":{"type":"integer","enum":[0]},"schedule":{"type":"string","description":"A valid cron expression (e.g. `\"0 * * * *\"`)"},"delta":{"type":"string","description":"A time delta string (e.g. `\"1d\"`, `\"30m\"`)"},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"Timestamp":{"type":"integer","description":"Unix timestamp in milliseconds."},"EventTriggerConfig":{"type":"object","required":["type","chainId","contract","topics","delta","endDate"],"properties":{"type":{"type":"integer","enum":[1]},"chainId":{"$ref":"#/components/schemas/ChainId"},"contract":{"description":"Contract address to filter events from, or `\"any\"` for any contract","oneOf":[{"$ref":"#/components/schemas/Address"},{"type":"string","enum":["any"]}]},"topics":{"type":"array","description":"Array of 1–4 topic groups. Each group is an OR filter; groups are AND-combined.\n","minItems":1,"maxItems":4,"items":{"type":"array","items":{"$ref":"#/components/schemas/HexString"}}},"delta":{"type":"string","description":"Time delta after the event before execution fires"},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"ChainId":{"type":"integer","description":"A supported chain ID."},"Address":{"type":"string","description":"A valid EVM (0x-prefixed hex) address."},"HexString":{"type":"string","description":"An arbitrary 0x-prefixed hex string."},"OnceTriggerConfig":{"type":"object","required":["type","startDate","delta","endDate"],"properties":{"type":{"type":"integer","enum":[2]},"startDate":{"$ref":"#/components/schemas/Timestamp"},"delta":{"type":"string","description":"Duration window; `endDate` must equal `startDate + delta`"},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"BigInteger":{"type":"string","description":"A non-negative integer represented as a decimal string."},"Signature":{"type":"string","description":"A 65-byte hex-encoded ECDSA signature (130 hex chars + 0x prefix)."},"EvmAddress":{"type":"string","description":"A valid EVM address (0x-prefixed, 20 bytes)."},"Trigger":{"type":"object","required":["sig","functionCid","signer","version","description","createdAt","input","config","executionFeeLimit","minValidations","types","endDate"],"properties":{"sig":{"$ref":"#/components/schemas/Signature"},"functionCid":{"$ref":"#/components/schemas/CID"},"signer":{"$ref":"#/components/schemas/Address"},"version":{"$ref":"#/components/schemas/SemVer"},"description":{"type":"string"},"deactivateSig":{"$ref":"#/components/schemas/Signature"},"createdAt":{"type":"string","format":"date-time"},"input":{"type":"object","additionalProperties":true},"config":{"$ref":"#/components/schemas/TriggerConfig"},"executionFeeLimit":{"$ref":"#/components/schemas/BigInteger"},"minValidations":{"type":"integer","minimum":0},"types":{"$ref":"#/components/schemas/TriggerTypes"},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"Error":{"type":"object","properties":{"message":{"type":"string"}}}},"responses":{"BadRequest":{"description":"Bad request — invalid parameters or body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Unauthorized — missing or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## Compute EIP-712 sign parameters for a trigger

> Returns the EIP-712 typed data structure (domain, primaryType, types, and message) needed to sign a new trigger. The caller must sign the returned \`message\` and submit it with the signature to \`POST /triggers\`.<br>

```json
{"openapi":"3.0.3","info":{"title":"Mimic Protocol API","version":"1.0.1"},"tags":[{"name":"Triggers","description":"Trigger lifecycle management"}],"servers":[{"url":"https://api-protocol.mimic.fi"}],"paths":{"/triggers/sign-params":{"post":{"summary":"Compute EIP-712 sign parameters for a trigger","description":"Returns the EIP-712 typed data structure (domain, primaryType, types, and message) needed to sign a new trigger. The caller must sign the returned `message` and submit it with the signature to `POST /triggers`.\n","operationId":"getTriggerSignParams","tags":["Triggers"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerSignParamsRequest"}}}},"responses":{"200":{"description":"EIP-712 sign parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerSignParams"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"}}}}},"components":{"schemas":{"TriggerSignParamsRequest":{"type":"object","required":["functionCid","version","input","config"],"properties":{"functionCid":{"$ref":"#/components/schemas/CID"},"version":{"$ref":"#/components/schemas/SemVer"},"input":{"type":"object","additionalProperties":true,"description":"Key-value map matching the function's manifest input schema"},"config":{"$ref":"#/components/schemas/TriggerConfig"}}},"CID":{"type":"string","description":"An IPFS content identifier (CIDv0 or CIDv1 base32)."},"SemVer":{"type":"string","description":"A semantic version string."},"TriggerConfig":{"description":"Trigger schedule configuration. Discriminated by the integer `type` field: `0` → CronTriggerConfig, `1` → EventTriggerConfig, `2` → OnceTriggerConfig.\n","oneOf":[{"$ref":"#/components/schemas/CronTriggerConfig"},{"$ref":"#/components/schemas/EventTriggerConfig"},{"$ref":"#/components/schemas/OnceTriggerConfig"}]},"CronTriggerConfig":{"type":"object","required":["type","schedule","delta","endDate"],"properties":{"type":{"type":"integer","enum":[0]},"schedule":{"type":"string","description":"A valid cron expression (e.g. `\"0 * * * *\"`)"},"delta":{"type":"string","description":"A time delta string (e.g. `\"1d\"`, `\"30m\"`)"},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"Timestamp":{"type":"integer","description":"Unix timestamp in milliseconds."},"EventTriggerConfig":{"type":"object","required":["type","chainId","contract","topics","delta","endDate"],"properties":{"type":{"type":"integer","enum":[1]},"chainId":{"$ref":"#/components/schemas/ChainId"},"contract":{"description":"Contract address to filter events from, or `\"any\"` for any contract","oneOf":[{"$ref":"#/components/schemas/Address"},{"type":"string","enum":["any"]}]},"topics":{"type":"array","description":"Array of 1–4 topic groups. Each group is an OR filter; groups are AND-combined.\n","minItems":1,"maxItems":4,"items":{"type":"array","items":{"$ref":"#/components/schemas/HexString"}}},"delta":{"type":"string","description":"Time delta after the event before execution fires"},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"ChainId":{"type":"integer","description":"A supported chain ID."},"Address":{"type":"string","description":"A valid EVM (0x-prefixed hex) address."},"HexString":{"type":"string","description":"An arbitrary 0x-prefixed hex string."},"OnceTriggerConfig":{"type":"object","required":["type","startDate","delta","endDate"],"properties":{"type":{"type":"integer","enum":[2]},"startDate":{"$ref":"#/components/schemas/Timestamp"},"delta":{"type":"string","description":"Duration window; `endDate` must equal `startDate + delta`"},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"TriggerSignParams":{"type":"object","description":"EIP-712 typed data structure ready to be signed by the caller","required":["domain","primaryType","types","message"],"properties":{"domain":{"type":"object","required":["name","version"],"properties":{"name":{"type":"string"},"version":{"type":"string"}}},"primaryType":{"type":"string"},"types":{"$ref":"#/components/schemas/TriggerTypes"},"message":{"$ref":"#/components/schemas/TriggerTypedDataValues"}}},"TriggerTypes":{"type":"object","required":["Input","Config","Trigger"],"description":"EIP-712 type definitions for the trigger's typed data","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"properties":{"Input":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"Config":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"Trigger":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}}}},"TypedDataField":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string"},"type":{"type":"string","description":"Solidity type or a custom type (`Token`, `TokenAmount`)"}}},"TriggerTypedDataValues":{"type":"object","required":["functionCid","version","input","config","executionFeeLimit","minValidations"],"properties":{"functionCid":{"$ref":"#/components/schemas/CID"},"version":{"$ref":"#/components/schemas/SemVer"},"input":{"type":"object","additionalProperties":true,"description":"Key-value map matching the function's manifest input schema"},"config":{"$ref":"#/components/schemas/TriggerConfig"},"executionFeeLimit":{"allOf":[{"$ref":"#/components/schemas/BigInteger"}],"description":"Maximum fee (in protocol units) the signer accepts per execution"},"minValidations":{"type":"integer","minimum":0,"description":"Minimum number of validator confirmations required"}}},"BigInteger":{"type":"string","description":"A non-negative integer represented as a decimal string."},"Error":{"type":"object","properties":{"message":{"type":"string"}}}},"responses":{"BadRequest":{"description":"Bad request — invalid parameters or body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## GET /triggers/{sig}

> Get a trigger by its signature

```json
{"openapi":"3.0.3","info":{"title":"Mimic Protocol API","version":"1.0.1"},"tags":[{"name":"Triggers","description":"Trigger lifecycle management"}],"servers":[{"url":"https://api-protocol.mimic.fi"}],"paths":{"/triggers/{sig}":{"get":{"summary":"Get a trigger by its signature","operationId":"getTrigger","tags":["Triggers"],"parameters":[{"name":"sig","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Signature"}}],"responses":{"200":{"description":"Trigger details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Trigger"}}}},"404":{"$ref":"#/components/responses/NotFound"}}}}},"components":{"schemas":{"Signature":{"type":"string","description":"A 65-byte hex-encoded ECDSA signature (130 hex chars + 0x prefix)."},"Trigger":{"type":"object","required":["sig","functionCid","signer","version","description","createdAt","input","config","executionFeeLimit","minValidations","types","endDate"],"properties":{"sig":{"$ref":"#/components/schemas/Signature"},"functionCid":{"$ref":"#/components/schemas/CID"},"signer":{"$ref":"#/components/schemas/Address"},"version":{"$ref":"#/components/schemas/SemVer"},"description":{"type":"string"},"deactivateSig":{"$ref":"#/components/schemas/Signature"},"createdAt":{"type":"string","format":"date-time"},"input":{"type":"object","additionalProperties":true},"config":{"$ref":"#/components/schemas/TriggerConfig"},"executionFeeLimit":{"$ref":"#/components/schemas/BigInteger"},"minValidations":{"type":"integer","minimum":0},"types":{"$ref":"#/components/schemas/TriggerTypes"},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"CID":{"type":"string","description":"An IPFS content identifier (CIDv0 or CIDv1 base32)."},"Address":{"type":"string","description":"A valid EVM (0x-prefixed hex) address."},"SemVer":{"type":"string","description":"A semantic version string."},"TriggerConfig":{"description":"Trigger schedule configuration. Discriminated by the integer `type` field: `0` → CronTriggerConfig, `1` → EventTriggerConfig, `2` → OnceTriggerConfig.\n","oneOf":[{"$ref":"#/components/schemas/CronTriggerConfig"},{"$ref":"#/components/schemas/EventTriggerConfig"},{"$ref":"#/components/schemas/OnceTriggerConfig"}]},"CronTriggerConfig":{"type":"object","required":["type","schedule","delta","endDate"],"properties":{"type":{"type":"integer","enum":[0]},"schedule":{"type":"string","description":"A valid cron expression (e.g. `\"0 * * * *\"`)"},"delta":{"type":"string","description":"A time delta string (e.g. `\"1d\"`, `\"30m\"`)"},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"Timestamp":{"type":"integer","description":"Unix timestamp in milliseconds."},"EventTriggerConfig":{"type":"object","required":["type","chainId","contract","topics","delta","endDate"],"properties":{"type":{"type":"integer","enum":[1]},"chainId":{"$ref":"#/components/schemas/ChainId"},"contract":{"description":"Contract address to filter events from, or `\"any\"` for any contract","oneOf":[{"$ref":"#/components/schemas/Address"},{"type":"string","enum":["any"]}]},"topics":{"type":"array","description":"Array of 1–4 topic groups. Each group is an OR filter; groups are AND-combined.\n","minItems":1,"maxItems":4,"items":{"type":"array","items":{"$ref":"#/components/schemas/HexString"}}},"delta":{"type":"string","description":"Time delta after the event before execution fires"},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"ChainId":{"type":"integer","description":"A supported chain ID."},"HexString":{"type":"string","description":"An arbitrary 0x-prefixed hex string."},"OnceTriggerConfig":{"type":"object","required":["type","startDate","delta","endDate"],"properties":{"type":{"type":"integer","enum":[2]},"startDate":{"$ref":"#/components/schemas/Timestamp"},"delta":{"type":"string","description":"Duration window; `endDate` must equal `startDate + delta`"},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"BigInteger":{"type":"string","description":"A non-negative integer represented as a decimal string."},"TriggerTypes":{"type":"object","required":["Input","Config","Trigger"],"description":"EIP-712 type definitions for the trigger's typed data","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"properties":{"Input":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"Config":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"Trigger":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}}}},"TypedDataField":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string"},"type":{"type":"string","description":"Solidity type or a custom type (`Token`, `TokenAmount`)"}}},"Error":{"type":"object","properties":{"message":{"type":"string"}}}},"responses":{"NotFound":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## Deactivate one or more triggers

> Permanently deactivates one or more triggers. The \`signature\` must be signed by the original trigger signer, and all provided \`triggerSigs\` must belong to that same signer.<br>

```json
{"openapi":"3.0.3","info":{"title":"Mimic Protocol API","version":"1.0.1"},"tags":[{"name":"Triggers","description":"Trigger lifecycle management"}],"servers":[{"url":"https://api-protocol.mimic.fi"}],"paths":{"/triggers/deactivate":{"post":{"summary":"Deactivate one or more triggers","description":"Permanently deactivates one or more triggers. The `signature` must be signed by the original trigger signer, and all provided `triggerSigs` must belong to that same signer.\n","operationId":"deactivateTriggers","tags":["Triggers"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerDeactivateRequest"}}}},"responses":{"204":{"description":"Triggers deactivated"},"400":{"$ref":"#/components/responses/BadRequest"}}}}},"components":{"schemas":{"TriggerDeactivateRequest":{"type":"object","required":["triggerSigs","signature"],"properties":{"triggerSigs":{"type":"array","minItems":1,"uniqueItems":true,"items":{"$ref":"#/components/schemas/Signature"},"description":"Trigger signatures to deactivate"},"signature":{"allOf":[{"$ref":"#/components/schemas/Signature"}],"description":"Signature authorizing the deactivation of all provided triggers"}}},"Signature":{"type":"string","description":"A 65-byte hex-encoded ECDSA signature (130 hex chars + 0x prefix)."},"Error":{"type":"object","properties":{"message":{"type":"string"}}}},"responses":{"BadRequest":{"description":"Bad request — invalid parameters or body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mimic.fi/developers/api/triggers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
