Outcomes

Sign an outcome agreement for Decionis (platform)

POST
/v1/outcomes/agreements/{agreementId}/signatures

Platform credential only. Signs the exact artifact digest with the dossier Ed25519 key (verifiable offline against /.well-known/decision-dossier-jwks.json), opens a Presence passkey request bound to the agreement for a customer signatory (OWNER, ADMIN or an Accounts signatory designation) and delivers the signing case in Business Central, Teams, Slack or the assistant. The customer co-signs there, through POST /v1/cases/{caseId}/decisions, never through this API. Without a signing key it answers 503 outcome_signing_unavailable.

Authorization

ApiKeyAuth
AuthorizationBearer <token>

An organization API key. Its scopes decide what it may call; decision:shadow is the narrowest: SHADOW evaluations through POST /v1/authority/grants or its alias POST /v1/authority/enforce-and-bind only (DECISION_SHADOW_MODE_DENIED in any other mode; DECISION_SHADOW_FIELD_DENIED for a body carrying context.decionis_policy, evidence or escalation), with no integration dispatch. A key whose only scope is decision:shadow (an AgentSafe hosted gateway's) reaches exactly those two, POST /v1/auth/credential-context, POST /v1/hosted-gateway/keys/confirm and POST /v1/hosted-gateway/keys/revoke-self; every other route answers 403 HOSTED_GATEWAY_KEY_PATH_DENIED. decision:enforce is an enforced hosted gateway's key: evaluations in SHADOW or ENFORCEMENT through POST /v1/authority/grants or its alias (400 DECISION_ENFORCE_FIELD_DENIED for a body carrying context.decionis_policy; it never holds policy:write), and the grants and managed escalations they bind. A key whose scopes are decision:enforce (with or without decision:shadow) reaches exactly POST /v1/authority/enforce-and-bind, POST /v1/authority/grants, GET /v1/authority/grants/{grant_id}, POST /v1/authority/grants/{grant_id}/claims, POST /v1/authority/grants/{grant_id}/receipts, POST /v1/authority/grants/{grant_id}/reconciliations, POST /v1/execution/verify-token, POST /v1/execution/claim-token, POST /v1/execution/consume-token, POST /v1/execution/finalize-token, GET /v1/authority/escalations/{escalation_id}, DELETE /v1/authority/escalations/{escalation_id}, POST /v1/auth/credential-context, POST /v1/hosted-gateway/keys/confirm and POST /v1/hosted-gateway/keys/revoke-self, each id a UUID; every other route answers 403 HOSTED_GATEWAY_KEY_PATH_DENIED.

In: header

Path Parameters

agreementId*string
Formatuuid

Request Body

application/json

party*string
artifact_sha256*string
Match^[a-f0-9]{64}$

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/outcomes/agreements/497f6eca-6276-4993-bfeb-53cbbbba6f08/signatures" \  -H "Content-Type: application/json" \  -d '{    "party": "DECIONIS",    "artifact_sha256": "string"  }'
{  "artifact": {    "version": "decionis.outcomes.agreement/1",    "agreement_id": "67dd069b-637c-4b8e-8d92-17a313d06fb8",    "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",    "environment": "sandbox",    "terms": {      "version": "decionis.outcomes.agreement/1",      "workflow": "PAYMENT_SAFETY",      "primary_metric": "CONFIRMED_PREVENTED_LOSS",      "scope": {        "platforms": [          "string"        ],        "action_types": [          "string"        ],        "connection_ids": [          "9093a418-aa3e-41a3-ae26-08ea1b46e535"        ],        "policy": {          "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",          "revision_digest": "string"        }      },      "baseline": {        "method": "SHADOW_COMPARISON",        "from": "string",        "to": "string",        "description": "string"      },      "currency": {        "reporting": "string",        "reporting_scale": 0,        "conversion": "NONE",        "rates": [          {            "currency": "string",            "rate_micros": 1          }        ],        "source": "string"      },      "deductions": {        "false_hold_minor": 0,        "delay_hour_minor": 0,        "analyst_minute_minor": 0      },      "confirmation": "REVIEWER",      "exclusions": [        {          "code": "string",          "description": "string"        }      ],      "attribution_days": 1,      "period": {        "cadence": "MONTHLY",        "close_after_days": 0      },      "commercial": {        "basis": "NONE",        "rate_bps": 0,        "floor_minor": 0,        "cap_minor": 0      },      "effective_from": "string",      "effective_to": "string"    },    "supersedes": "09391fa8-b623-4dc7-8d11-2a46489536bf",    "created_at": "2019-08-24T14:15:22Z"  },  "artifact_sha256": "string",  "canonicalization": "RFC8785/JCS",  "state": "DRAFT",  "decionis_signature": {    "algorithm": "Ed25519",    "keyId": "string",    "value": "string"  },  "customer_signature": {    "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",    "method": "WEBAUTHN",    "proof_reference": "string",    "proof_sha256": "string",    "signed_at": "2019-08-24T14:15:22Z"  },  "public_jwks_path": "/.well-known/decision-dossier-jwks.json"}