---
title: "Read an outcome agreement"
method: GET
path: "/v1/outcomes/agreements/{agreementId}"
---

# Read an outcome agreement

`GET /v1/outcomes/agreements/{agreementId}`

## Request

- Base URL: `https://api.decionis.com`
- URL: `https://api.decionis.com/v1/outcomes/agreements/{agreementId}`
- Auth: HTTP bearer

Organization API key with decision:read and role VIEWER or higher. Returns the agreement, its state and both signatures; an agreement of another organization is not found.

## Response `200`

The agreement.

- OutcomeAgreementRecord
  - `artifact` object, required
    - `version` 'decionis.outcomes.agreement/1', required
    - `agreement_id` string, uuid, required
    - `org_id` string, uuid, required
    - `environment` 'sandbox' | 'production', required
    - `terms` object, required
      - `version` 'decionis.outcomes.agreement/1', required
      - `workflow` 'PAYMENT_SAFETY' | 'MARGIN_OVERSELL' | 'SUPPORT' | 'ENGINEERING', required
      - `primary_metric` 'CONFIRMED_PREVENTED_LOSS' | 'GOVERNED_VALUE', required
      - `scope` object, required
        - `platforms` string[], required
        - `action_types` string[], required
        - `connection_ids` string[], required
        - `policy` object, nullable, required
          - `policy_id` string, uuid, required
          - `revision_digest` string, required
      - `baseline` object, required
        - `method` 'SHADOW_COMPARISON' | 'MATCHED_COHORT' | 'BEFORE_AFTER', required
        - `from` string, required
        - `to` string, required
        - `description` string, required
      - `currency` object, required
        - `reporting` string, required
        - `reporting_scale` integer, required
        - `conversion` 'NONE' | 'FIXED_RATES', required
        - `rates` object[], required
          - `currency` string, required
          - `rate_micros` integer, required
        - `source` string, nullable, required
      - `deductions` object, required
        - `false_hold_minor` integer, required
        - `delay_hour_minor` integer, required
        - `analyst_minute_minor` integer, required
      - `confirmation` 'REVIEWER' | 'CUSTOMER', required
      - `exclusions` object[], required
        - `code` string, required
        - `description` string, required
      - `attribution_days` integer, required
      - `period` object, required
        - `cadence` 'MONTHLY', required
        - `close_after_days` integer, required
      - `commercial` object, required
        - `basis` 'NONE' | 'NET_BENEFIT_SHARE' | 'GOVERNED_VALUE_FEE', required
        - `rate_bps` integer, required
        - `floor_minor` integer, required
        - `cap_minor` integer, nullable, required
      - `effective_from` string, required
      - `effective_to` string, nullable, required
    - `supersedes` string, uuid, nullable, required
    - `created_at` string, date-time, required
  - `artifact_sha256` string, required
  - `canonicalization` 'RFC8785/JCS', required
  - `state` 'DRAFT' | 'AWAITING_CUSTOMER' | 'ACTIVE' | 'SUPERSEDED' | 'TERMINATED', required
  - `decionis_signature` object, nullable, required
    - `algorithm` 'Ed25519', required
    - `keyId` string, required
    - `value` string, required
  - `customer_signature` object, nullable, required
    - `user_id` string, uuid, required
    - `method` 'WEBAUTHN', required
    - `proof_reference` string, required
    - `proof_sha256` string, required
    - `signed_at` string, date-time, required
  - `public_jwks_path` '/.well-known/decision-dossier-jwks.json', required

## Other responses

- `403`: Structured API error
- `404`: Structured API error
- `503`: Structured API error

---

[API](https://skmtc.dev/decionis/apis/decionis-policy-evaluation-api.md) · [All operations](https://skmtc.dev/decionis/apis/decionis-policy-evaluation-api/llms.txt) · [OpenAPI document](https://skmtc.dev/decionis/apis/decionis-policy-evaluation-api/revisions/357f5e459d0c?raw)
