Automations

Update an automation rule

Partially update an automation rule: omitted fields keep their value, and "" in description clears it.

  • Every edit seals a NEW version and bumps current_version; past runs keep their original definition.
  • The status is unchanged: an active rule stays active.
patch/companies/{company}/automations/rules/{rule}

Request

  • Base URL: https://api.factuarea.com/v1
  • URL: https://api.factuarea.com/v1/companies/{company}/automations/rules/{rule}
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Path parameters

companystring uuid required

Public identifier (UUID v7) of the company. Get it from GET /v1/me (data.scope[].id).

rulestring uuid required

Public identifier (UUID v7) of the automation rule.

Headers

Idempotency-Keystring
Example:01928f10-7c0e-7c4a-9b7d-2f8a6e3c1d4b

Client-generated opaque key (up to 255 characters; UUID v7 recommended) that makes retries safe: the first response is cached and replayed for repeats without re-executing the mutation. Reusing a key with a different body returns 422 idempotency_key_reused; the values of secret fields (password, secret…) count as part of the body, so retrying with a corrected secret under the same key is a different request, never the replay of the earlier answer. See the Idempotency guide.

Factuarea-Versionstring date
Example:2026-06-01

Pin the API version (YYYY-MM-DD, Stripe-style date versioning) for this request; omit to use the key's pinned version, or the latest if none. Unsupported version → 400 unsupported_api_version; malformed → 400 parameter_invalid_format. The effective version is echoed in the Factuarea-Version response header. See the Versioning guide.

Request body

namestring

New human-readable name. Omit it to keep the current one; it cannot be sent empty.

descriptionstring nullable

New description. Send it empty to clear the current one; omit it to keep it.

scope'empresa' | 'cartera' | 'null' nullable

Scope of the automation. It is immutable: send it to state the one the rule already has, or omit it. Sending a different one is rejected and the rule is left untouched.

trigger_typestring

New trigger, in resource.action form. Omit it to keep the current one. Must belong to the catalog visible to the company.

conditionsobject

New condition tree. An empty object means "no condition" (the rule runs on every event); omit the key to keep the current conditions.

Response

Example response

{
  "data": {
    "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a61",
    "name": "Avisar de un cobro grande",
    "description": "Notifica a los administradores cuando se cobra una factura de 1000 EUR o más.",
    "trigger_type": "invoice.paid",
    "scope": "empresa",
    "conditions": {
      "field": "total",
      "operator": "gte",
      "value": 1000
    },
    "actions": [
      {
        "type": "notify_in_app",
        "order": 0,
        "parameters": {
          "recipient_type": "role",
          "role": "admin",
          "category": "invoice",
          "title": "Cobro grande",
          "message": "Se ha cobrado una factura de 1000 EUR o más."
        }
      }
    ],
    "status": "active",
    "current_version": 2,
    "created_at": "2026-03-15T10:00:00Z",
    "updated_at": "2026-03-16T09:30:00Z"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.