DecisionCheckRequest

CompanyMarket IntelligenceAI AgentsAPIAfrican Markets

Properties

Name Type Description
attestation_refs array Case-bound reviewer assertions, not proof, scoring or permission. Keep bearer references host-private; reattach only for the same case.
review_case_ref object Host-private, case-bound read reference. Never put its secret into prompts, URLs, logs or exports. Grants no write or action authority.
passage_interpretations array Attributed model readings of claim_review.interpretation_tasks. They route review and never set a value.
claims array Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.
target_claim string
target_use string
requested_use string
decision_use string
output_use string
decision_stage string
decision_context string
analysis_date string Declared analysis calendar date or ISO timestamp with timezone. No later than today in analysis_timezone.
analysis_timezone string IANA analysis timezone; defaults to UTC.
context_freshness_window_days integer Caller-declared maximum evidence age, not a calibrated universal cutoff.
entity_name string
entity_archetype string
country string
sector string
use_case string
maturity_level string
workflow_id string Caller-carried operational correlation only, not authenticated lineage or authority.
workflow_expires_at string
mode string
sensitivity boolean Optional bounded pre-kernel scoring diagnostics: item removal, fixed 1/3/5-point adverse-value changes and one-item cap-to-20 scenario. Does not retest authorization, prove robustness or authenticate
case_type string Use a canonical case type. market_entry is an accepted compatibility alias for greenfield_entry and is disclosed as the original input in internal audit metadata.
subject object
market_scope object
stakeholder_scope array
evidence_pack array
compiled_pack object
unit_economics objectnull
financial_context objectnull
competitive_context objectnull
behavioral_signals objectnull
operational_readiness objectnull
sentiment_velocity objectnull
network_economics objectnull Presence-only declared context in the current kernel; no metric keys are independently evaluated.
b2b_context objectnull Presence-only declared context in the current kernel; no procurement authorization is inferred.
scaling_physics objectnull
market_education_profile objectnull
mvr_scores object
case_id string
allow_non_decisive_operator_review boolean
baseline_period string
backtest_window object
sector_metrics objectnull
project_id string Tenant/workspace project context. Equivalent to subject.project_id; conflicting identifiers are rejected. Memory never supplies evidence or permission.
use_project_memory boolean Defaults to true when a project ID is supplied. Set false to disable contextual defaults.
project_memory boolean Compatibility alias for use_project_memory; either false disables loading.
backtest_mode boolean When true, response echoes backtest_mode and optional t0_date for replay transparency.
t0_date string Backtest as-of date echoed when backtest_mode is true.
View JSON Schema on GitHub

JSON Schema

africanmarketos-com-decision-check-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/africanmarketos-com/json-schema/africanmarketos-com-decision-check-request-schema.json",
  "title": "DecisionCheckRequest",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/africanmarketos-com-openapi.yml#/components/schemas/DecisionCheckRequest",
  "type": "object",
  "not": {
    "required": [
      "evidence_pack",
      "compiled_pack"
    ]
  },
  "properties": {
    "attestation_refs": {
      "type": "array",
      "maxItems": 3,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "attestation_id",
          "tenant_id",
          "workspace_id",
          "reference_secret"
        ],
        "properties": {
          "attestation_id": {
            "type": "string",
            "pattern": "^ATT-[a-f0-9]{64}$"
          },
          "tenant_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "workspace_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "reference_secret": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$",
            "writeOnly": true,
            "description": "256-bit random bearer secret. Keep host-private, out of URLs/logs/prompts/exports; grants shared context, not authority."
          }
        }
      },
      "description": "Case-bound reviewer assertions, not proof, scoring or permission. Keep bearer references host-private; reattach only for the same case."
    },
    "review_case_ref": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "case_id",
        "tenant_id",
        "workspace_id",
        "reference_secret"
      ],
      "properties": {
        "case_id": {
          "type": "string",
          "pattern": "^RC-[a-f0-9]{64}$"
        },
        "tenant_id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "workspace_id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "reference_secret": {
          "type": "string",
          "pattern": "^[a-f0-9]{64}$",
          "writeOnly": true
        }
      },
      "description": "Host-private, case-bound read reference. Never put its secret into prompts, URLs, logs or exports. Grants no write or action authority."
    },
    "passage_interpretations": {
      "type": "array",
      "maxItems": 40,
      "description": "Attributed model readings of claim_review.interpretation_tasks. They route review and never set a value.",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "task_id",
          "stance",
          "source",
          "attribution"
        ],
        "properties": {
          "task_id": {
            "type": "string",
            "pattern": "^PT-[a-f0-9]{48}$"
          },
          "stance": {
            "enum": [
              "supports",
              "qualifies",
              "adverse",
              "unrelated"
            ]
          },
          "source": {
            "enum": [
              "model"
            ]
          },
          "attribution": {
            "type": "object",
            "required": [
              "provider",
              "model",
              "model_version",
              "prompt_sha256",
              "output_sha256"
            ]
          }
        }
      }
    },
    "claims": {
      "type": "array",
      "description": "Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.",
      "items": {
        "type": "object",
        "required": [
          "claim_id",
          "claim"
        ],
        "properties": {
          "claim_id": {
            "type": "string",
            "description": "Opaque claim identifier."
          },
          "claim": {
            "type": "string",
            "description": "Minimal public-safe target proposition."
          },
          "support_links": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "claim_id",
                "evidence_id",
                "relationship",
                "locator"
              ],
              "properties": {
                "claim_id": {
                  "type": "string",
                  "description": "Must match the containing claim."
                },
                "evidence_id": {
                  "type": "string",
                  "description": "Must identify an item in this complete evidence pack."
                },
                "relationship": {
                  "type": "string",
                  "enum": [
                    "direct_support",
                    "qualifies",
                    "contradicts",
                    "context_only"
                  ]
                },
                "locator": {
                  "type": "string",
                  "description": "Specific page, cell or section. A locator is not proof."
                },
                "review_event_id": {
                  "type": "string",
                  "description": "Only the licensed review service can check this event; ignored as authority by public preflight."
                }
              }
            }
          }
        }
      }
    },
    "target_claim": {
      "type": "string"
    },
    "target_use": {
      "type": "string"
    },
    "requested_use": {
      "type": "string"
    },
    "decision_use": {
      "type": "string"
    },
    "output_use": {
      "type": "string"
    },
    "decision_stage": {
      "type": "string"
    },
    "decision_context": {
      "type": "string"
    },
    "analysis_date": {
      "type": "string",
      "description": "Declared analysis calendar date or ISO timestamp with timezone. No later than today in analysis_timezone."
    },
    "analysis_timezone": {
      "type": "string",
      "description": "IANA analysis timezone; defaults to UTC."
    },
    "context_freshness_window_days": {
      "type": "integer",
      "minimum": 1,
      "description": "Caller-declared maximum evidence age, not a calibrated universal cutoff."
    },
    "entity_name": {
      "type": "string"
    },
    "entity_archetype": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "sector": {
      "type": "string"
    },
    "use_case": {
      "type": "string"
    },
    "maturity_level": {
      "type": "string",
      "enum": [
        "startup",
        "mature",
        "scaled",
        "seed"
      ]
    },
    "workflow_id": {
      "type": "string",
      "pattern": "^MVRWF-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
      "description": "Caller-carried operational correlation only, not authenticated lineage or authority."
    },
    "workflow_expires_at": {
      "type": "string"
    },
    "mode": {
      "type": "string",
      "enum": [
        "exploratory",
        "evidence_backed",
        "score_direct",
        "compiled_evidence",
        "backtest",
        "backtest_demo",
        "synthetic_fixture"
      ]
    },
    "sensitivity": {
      "type": "boolean",
      "default": false,
      "description": "Optional bounded pre-kernel scoring diagnostics: item removal, fixed 1/3/5-point adverse-value changes and one-item cap-to-20 scenario. Does not retest authorization, prove robustness or authenticate evidence. Public output exposes a privacy-minimized sensitivity_summary."
    },
    "case_type": {
      "type": "string",
      "enum": [
        "greenfield_entry",
        "partnership_trust_transfer",
        "scaling",
        "test_market",
        "fmcg_rollout",
        "channel_choice",
        "startup_readiness",
        "market_entry"
      ],
      "description": "Use a canonical case type. market_entry is an accepted compatibility alias for greenfield_entry and is disclosed as the original input in internal audit metadata."
    },
    "subject": {
      "type": "object",
      "properties": {
        "entity_name": {
          "type": "string"
        },
        "entity_id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "entity_type": {
          "type": "string"
        },
        "entity_archetype": {
          "type": "string"
        },
        "category": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "sector": {
          "type": "string"
        },
        "maturity": {
          "type": "string"
        },
        "project_id": {
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "market_scope": {
      "type": "object",
      "properties": {
        "country": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "district": {
          "type": "string",
          "pattern": "\\S"
        },
        "districts": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "\\S"
          }
        },
        "decision_scope_level": {
          "type": "string",
          "enum": [
            "country",
            "subnational"
          ],
          "description": "Explicit decision extent. Alternatively supply district(s). Subnational scope also requires local geography. Do not relabel or widen the decision to pass."
        },
        "town_or_zone": {
          "type": "string"
        },
        "micro_context": {
          "type": "string"
        },
        "corridor": {
          "type": "string"
        },
        "sector": {
          "type": "string"
        },
        "analysis_date": {
          "type": "string"
        },
        "geo_match_tolerance": {
          "type": "string",
          "enum": [
            "strict",
            "same_city",
            "region",
            "country"
          ],
          "default": "strict",
          "description": "Declare the actual decision geography. Do not widen it to obtain a verdict."
        }
      },
      "additionalProperties": true
    },
    "stakeholder_scope": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "agent",
          "anchor_customer",
          "bank_lender",
          "beneficiary",
          "board",
          "board_member",
          "chama_member",
          "channel_gatekeeper",
          "chief",
          "civil_society_org",
          "clinic",
          "community_guardian",
          "community_leader",
          "competitor",
          "competitors",
          "consumer",
          "cooperative_member",
          "court",
          "courts",
          "creditor",
          "creditors",
          "customary_land_authority",
          "customer",
          "customs",
          "customs_authority",
          "distributor",
          "donor",
          "donor_guardian",
          "enumerator",
          "farmer",
          "field_agent",
          "field_supervisor",
          "gatekeeper",
          "guarantor",
          "guardian",
          "guardian_node",
          "implementing_partner",
          "incumbent",
          "incumbent_competitor",
          "incumbents",
          "influencer",
          "informal_logistics",
          "informal_logistics_partner",
          "institutional_guardian",
          "internal_operations",
          "internal_operator",
          "investor",
          "investor_board",
          "investors",
          "journalist",
          "journalists",
          "judiciary",
          "judiciary_court",
          "labor_union",
          "labour_union",
          "land_custodian",
          "land_owner",
          "landlord",
          "landowner",
          "lender",
          "lender_creditor",
          "lenders",
          "market_queen",
          "media",
          "media_press",
          "member",
          "micro_logistics",
          "mobile_money_agent",
          "organized_labour",
          "platform_partner",
          "political_guardian",
          "press",
          "public_official",
          "regulator",
          "regulatory_body",
          "religious_leader",
          "research_respondent_group",
          "retail_partner",
          "retailer",
          "retailer_partner",
          "revenue_authority",
          "sacco_member",
          "school",
          "service_provider",
          "shareholder",
          "shareholders",
          "supplier",
          "suppliers",
          "tax_authority",
          "tax_revenue_authority",
          "teacher",
          "traditional_chief",
          "union",
          "upstream_supplier",
          "upstream_vendor",
          "vc",
          "vendor",
          "vendors",
          "venture_capital",
          "worker_association",
          "works_council"
        ]
      }
    },
    "evidence_pack": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/EvidenceItem"
      }
    },
    "compiled_pack": {
      "type": "object",
      "properties": {
        "public_reality_pack": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EvidenceItem"
          }
        },
        "telemetry_proxy_pack": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EvidenceItem"
          }
        },
        "localized_observed_pack": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EvidenceItem"
          }
        },
        "survey_pack": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EvidenceItem"
          }
        },
        "retail_audit_pack": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EvidenceItem"
          }
        },
        "ngo_program_pack": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EvidenceItem"
          }
        },
        "evaluation_pack": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EvidenceItem"
          }
        },
        "administrative_data_pack": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EvidenceItem"
          }
        },
        "partner_network_pack": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EvidenceItem"
          }
        },
        "social_listening_pack": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EvidenceItem"
          }
        }
      }
    },
    "unit_economics": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "ltv_cac_ratio": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0,
          "maximum": 100
        },
        "cac_ltv_ratio": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0,
          "maximum": 100
        },
        "payback_period_months": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0
        },
        "gross_margin_percent": {
          "type": [
            "number",
            "null"
          ],
          "minimum": -100,
          "maximum": 100
        },
        "capital_runway_months": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0
        },
        "monthly_burn_usd": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0,
          "not": {
            "maximum": 0
          }
        },
        "cash_conversion_cycle_days": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0,
          "maximum": 730
        },
        "data_confidence": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "audited_financials",
            "projected",
            "management_estimate"
          ]
        }
      },
      "additionalProperties": true
    },
    "financial_context": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "runway_months": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0,
          "maximum": 1200
        },
        "ltv_cac_ratio": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0,
          "maximum": 100
        },
        "gross_margin_pct": {
          "type": [
            "number",
            "null"
          ],
          "minimum": -100,
          "maximum": 100
        },
        "monthly_burn_local_currency": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0
        }
      },
      "additionalProperties": true
    },
    "competitive_context": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "incumbent_share_pct": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0,
          "maximum": 100
        },
        "switching_cost_index_0_100": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0,
          "maximum": 100
        },
        "price_war_risk": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "low",
            "moderate",
            "high",
            "extreme"
          ]
        }
      },
      "additionalProperties": true
    },
    "behavioral_signals": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "monthly_churn_rate": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0,
          "maximum": 1
        },
        "dau": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0
        }
      },
      "additionalProperties": true
    },
    "operational_readiness": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "sla_uptime_pct_90d": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0,
          "maximum": 100
        }
      },
      "additionalProperties": true
    },
    "sentiment_velocity": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "delta_trust": {
          "type": [
            "number",
            "null"
          ],
          "minimum": -100,
          "maximum": 100
        },
        "delta_permission": {
          "type": [
            "number",
            "null"
          ],
          "minimum": -100,
          "maximum": 100
        }
      },
      "additionalProperties": true
    },
    "network_economics": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": true,
      "description": "Presence-only declared context in the current kernel; no metric keys are independently evaluated."
    },
    "b2b_context": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": true,
      "description": "Presence-only declared context in the current kernel; no procurement authorization is inferred."
    },
    "scaling_physics": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "expected_embeddedness_decay_at_scale_pct": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0,
          "maximum": 100
        }
      },
      "additionalProperties": true
    },
    "market_education_profile": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "phase": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "discovery",
            "education",
            "early_adoption",
            "mainstream"
          ]
        }
      },
      "additionalProperties": true
    },
    "mvr_scores": {
      "type": "object",
      "properties": {
        "executive": {
          "anyOf": [
            {
              "type": "object",
              "additionalProperties": {
                "type": "number",
                "minimum": 0,
                "maximum": 100
              }
            },
            {
              "type": "number",
              "minimum": 0,
              "maximum": 100
            }
          ],
          "description": "Prefer dimension-keyed scores. Legacy bounded scalar executive score is normalized separately and cannot fill missing evidence dimensions."
        },
        "dimensions": {
          "type": "object",
          "additionalProperties": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          }
        },
        "permission": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "trust": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "belonging": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "embeddedness": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "reciprocity": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "cultural_fit": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "guardian_strength": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "continuity": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "channel_permission": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "infrastructural_intimacy": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "absence_sensitivity": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "narrative_looping": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "whispered_credibility": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "fractal_trust": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "cultural_calibration": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        }
      },
      "additionalProperties": true
    },
    "case_id": {
      "type": "string"
    },
    "allow_non_decisive_operator_review": {
      "type": "boolean"
    },
    "baseline_period": {
      "type": "string",
      "enum": [
        "12m",
        "24m",
        "36m"
      ]
    },
    "backtest_window": {
      "type": "object",
      "properties": {
        "start": {
          "type": "string",
          "description": "ISO calendar date or timestamp."
        },
        "end": {
          "type": "string",
          "description": "ISO calendar date or timestamp."
        }
      },
      "additionalProperties": true,
      "required": [
        "start",
        "end"
      ]
    },
    "sector_metrics": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "sector": {
          "type": "string",
          "maxLength": 96
        },
        "metrics": {
          "type": "object",
          "maxProperties": 60,
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ],
            "nullable": true
          }
        }
      },
      "additionalProperties": true,
      "required": [
        "metrics"
      ]
    },
    "project_id": {
      "type": "string",
      "minLength": 1,
      "description": "Tenant/workspace project context. Equivalent to subject.project_id; conflicting identifiers are rejected. Memory never supplies evidence or permission."
    },
    "use_project_memory": {
      "type": "boolean",
      "description": "Defaults to true when a project ID is supplied. Set false to disable contextual defaults."
    },
    "project_memory": {
      "type": "boolean",
      "description": "Compatibility alias for use_project_memory; either false disables loading."
    },
    "backtest_mode": {
      "type": "boolean",
      "description": "When true, response echoes backtest_mode and optional t0_date for replay transparency."
    },
    "t0_date": {
      "type": "string",
      "description": "Backtest as-of date echoed when backtest_mode is true."
    }
  },
  "$defs": {
    "EvidenceItem": {
      "type": "object",
      "additionalProperties": true,
      "description": "Extensible source metadata. Unknown item-level field names receive non-blocking input_interpretation notices on successful licensed evidence responses; acceptance is not proof that a control was evaluated. Suggested names require checking source facts and are never applied automatically. Nested open metadata is not recursively classified by this notice mechanism. Recovery: Codes: FIELD_PROVENANCE_REQUIRED,FIELD_PROVENANCE_CONFLICT,FIELDWORK_CAPACITY_CONTRADICTION,SOURCE_INDEPENDENCE_CONTRADICTION,SOURCE_VERIFICATION_CONTRADICTION,FIELD_SOURCE_MODALITY_CONFLICT,DECISION_GEOGRAPHY_SCOPE_REQUIRED,DECISION_SCOPE_REQUIRED,DECISION_SCOPE_REVIEW_REQUIRED,DECISION_SCOPE_CROSS_CHECK_LIMIT,SOURCE_EXTRACTION_INVALID,SOURCE_EXTRACTION_REFERENCE_CONFLICT,ADVERSE_SOURCE_REVIEW_REQUIRED,INVALID_CLAIM_INPUT,OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY,ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. HTTP 422: details/validation_errors; fix missing_fields. Never invent facts. These codes do not authenticate sources or authorize action. /docs/mcp-integration.md.",
      "x-compatible-item-field-names": [
        "provenance",
        "privacy",
        "modality",
        "pack_type",
        "source_type",
        "source_family",
        "source_locator",
        "source_hash",
        "upstream_source_ids",
        "parent_source_ids",
        "support_links",
        "source_relationship",
        "claim_id",
        "collected_at",
        "submitted_at",
        "public_metric_period_end",
        "collection_period_start",
        "collection_period_end",
        "score_scale",
        "value_scale",
        "scale",
        "category",
        "subject",
        "demographics",
        "independence_metadata",
        "dependence_metadata",
        "independence_group_id",
        "dependency_group_id",
        "independence_basis",
        "event_id",
        "dataset_id",
        "method_id",
        "instrument_id",
        "collector_id",
        "error_process_id",
        "source_review",
        "review",
        "reviewer_id",
        "extraction_method",
        "extraction_confidence"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "evidence_id": {
          "type": "string"
        },
        "claim": {
          "type": "string"
        },
        "load_bearing": {
          "type": "boolean"
        },
        "is_load_bearing": {
          "type": "boolean"
        },
        "source_date": {
          "type": "string",
          "minLength": 4,
          "maxLength": 32,
          "description": "Declared source date at its actual precision: YYYY, YYYY-MM, YYYY-MM-DD, or ISO timestamp with seconds and timezone (up to 6 fractional digits). Years 0001-9999; real calendar dates only. Partial dates describe inclusive calendar bounds, never an invented day. Source truth and current applicability remain unverified. Metadata only: typed scoring still requires an exact freshness date and excludes partial-date or range-bearing items."
        },
        "source_date_range": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "earliest",
            "latest"
          ],
          "properties": {
            "earliest": {
              "type": "string",
              "minLength": 4,
              "maxLength": 32,
              "description": "Declared source date at its actual precision: YYYY, YYYY-MM, YYYY-MM-DD, or ISO timestamp with seconds and timezone (up to 6 fractional digits). Years 0001-9999; real calendar dates only. Partial dates describe inclusive calendar bounds, never an invented day. Source truth and current applicability remain unverified."
            },
            "latest": {
              "type": "string",
              "minLength": 4,
              "maxLength": 32,
              "description": "Declared source date at its actual precision: YYYY, YYYY-MM, YYYY-MM-DD, or ISO timestamp with seconds and timezone (up to 6 fractional digits). Years 0001-9999; real calendar dates only. Partial dates describe inclusive calendar bounds, never an invented day. Source truth and current applicability remain unverified."
            }
          },
          "description": "Optional inclusive declared bounds, usable without source_date. Both endpoints must have the same precision and be ordered. Every supplied source_date/freshness_date must contain the whole range; an exact timestamp cannot be widened. Aliases must agree before narrowing. Unknown dates are not clipped to the analysis date. Bounds are declarations, not source verification."
        },
        "source_url": {
          "type": "string"
        },
        "source_doc_id": {
          "type": "string"
        },
        "sample_size": {
          "type": "integer",
          "minimum": 1,
          "maximum": 9007199254740991,
          "description": "Actual sample for collector-administered evidence, including groups. Sample aliases must agree; never invent counts for documentary or self-administered sources."
        },
        "population_size": {
          "type": "integer",
          "minimum": 1
        },
        "population_definition": {
          "type": "string"
        },
        "sampling_method": {
          "type": "string",
          "description": "Use census for a declared complete finite population; this does not override weighted sample admission."
        },
        "is_complete_population": {
          "type": "boolean"
        },
        "census": {
          "type": "boolean",
          "description": "Alias for is_complete_population. Only literal true with consistent positive integer sample_size = population_size enables the disclosure."
        },
        "collection_context": {
          "type": "object",
          "additionalProperties": true,
          "description": "Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Collector-administered modes require staffing, duration, available minutes per collector and sample size. Group modes additionally require session_count, participants_per_session, session_duration_minutes and collectors_per_session, never inferred from an individual interview duration. Online, observation and administrative_record modes require collection_administration; self-administered online and automated observation/record sources do not need invented collector capacity. Explicit public/documentary origins are not caller fieldwork solely because evidence_type is survey; conflicting explicit field origins still block. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.",
          "properties": {
            "source_modality": {
              "type": "string",
              "enum": [
                "direct_observation",
                "documentary",
                "secondary_summary",
                "unknown"
              ]
            },
            "collector_relationship": {
        

# --- truncated at 32 KB (73 KB total) ---
# Full source: https://artifacts.apis.io/africanmarketos-com/json-schema/africanmarketos-com-decision-check-request-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/africanmarketos-com-decision-check-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.