---
title: "Create an execution and hold its single-use permit (permit wire profile)"
method: POST
path: "/v1/connections/{connectionId}/executions"
---

# Create an execution and hold its single-use permit (permit wire profile)

`POST /v1/connections/{connectionId}/executions`

## Request

- Base URL: `https://api.decionis.com`
- URL: `https://api.decionis.com/v1/connections/{connectionId}/executions`
- Auth: API key in header `X-Decionis-API-Key`

agent-safe.executors.native/1 §5, step 1. A native platform states one action in its own words (a Business Central payment line or sales document); the executor host resolves the connection from the caller's key, prepares the action, asks Decionis to decide it and bind a single-use grant to its exact intent, and holds the grant unclaimed. HELD returns the permit (permit_id, intent_sha256, expires_at); every other decision returns BLOCKED with its reason codes and no permit. A payment permit is bound to one payment line: company, journal template and batch, line number, the line's own id, vendor, beneficiary-account hash, amount and currency. Posting the legacy payment or sales body here is answered exactly as at its deprecated alias.

## Path parameters

- `connectionId` string, uuid, required

## Headers

- `X-ERP-Region` string, required

## Request body

- ExecutionRequest
  - `executor` object, required
    - `platform` string, required
    - `style` 'dispatch' | 'permit', required
    - `version` string, required
  - `action_type` string, required
  - `action` object, required
  - `correlation_id` string

## Response `200`

HELD with the permit, or BLOCKED with why

- ExecutionResponse
  - `execution_id` string, required
  - `outcome` 'HELD' | 'BLOCKED', required
  - `decision` string, required
  - `reason_codes` string[], required
  - `dossier_id` string, nullable, required
  - `permit_id` string, nullable, required
  - `intent_sha256` string, nullable, required
  - `expires_at` string, date-time, nullable, required

## Other responses

- `400`: Bounded error response
- `401`: Bounded error response
- `409`: Bounded error response
- `429`: Bounded error response
- `503`: Bounded error response

---

[API](https://skmtc.dev/decionis/apis/decionis-commerce-gate-api.md) · [All operations](https://skmtc.dev/decionis/apis/decionis-commerce-gate-api/llms.txt) · [OpenAPI document](https://skmtc.dev/decionis/apis/decionis-commerce-gate-api/revisions/9fecb7109bf8?raw)
