---
title: "Check Pasted Message"
method: POST
path: "/reference/check-message"
tags: ["sections"]
---

# Check Pasted Message

`POST /reference/check-message`

## Request

- Base URL: `https://api.3gppscout.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.3gppscout.com/reference/check-message`
- Auth: none declared

Check a pasted, decoded 5GS NAS or NGAP message against the spec, IE by IE.

5GS NAS (TS 24.501): each IE against the message content table (mandatory IEs missing, IEs the table does not
list, conditional IEs), each length-coded IE against the table's length, 5GMM and 5GSM cause values against the
cause tables, timer IEs against the timer tables, and code points the decoder shows as reserved or unknown.
NGAP (TS 38.413): each protocol IE against the message's ASN.1 (clause 9.4.4), INTEGER ranges and ENUMERATED
values of top-level IEs and NGAP cause values (clause 9.4.5). Every finding carries the clause, version, citation
and official link it rests on; `not_checked` and `limits` say plainly what was not checked. Accepts the Wireshark
or tshark text view or tshark JSON; raw hex is not decoded.

## Request body

- MessageCheckRequest
  - `message` string, required: The decoded message as pasted: Wireshark or tshark text view (`tshark -V`), or tshark JSON (`tshark -T json`). Raw hex is recognized but not decoded.
  - `release` string, nullable: Check against the newest indexed version of this release, e.g. 'Rel-17'. Omit for the newest indexed version.

## Response `200`

Successful Response

- MessageCheckResponse
  - `input_format` string, required: text, json, hex or empty.
  - `messages` CheckedMessage[], required
    - `protocol` string, required: 5GS NAS or NGAP.
    - `family` string, nullable: 5GMM or 5GSM for NAS.
    - `message` string, nullable
    - `message_type` string, nullable
    - `clause` SpecSource
      - `doc_number` string, nullable
      - `doc_type` string, nullable
      - `version` string, nullable
      - `release` string, nullable
      - `section_number` string, nullable
      - `section_title` string, nullable
      - `table` string, nullable: The table compared against.
      - `row` string, nullable: The table row or ASN.1 line compared against.
      - `citation` string, nullable
      - `official_url` string, nullable
      - `provenance` object, nullable
    - `ies_present` string[], nullable
    - `findings` Finding[], required
      - `severity` string, required: error (departs from the spec), warning (likely problem or decode inconsistency) or info (what a cause or timer value means).
      - `check` string, required: presence, length, cause, timer, value, coding or message_type.
      - `ie` string, nullable
      - `text` string, required
      - `observed` string, nullable
      - `expected` string, nullable
      - `source` SpecSource, required
        - `doc_number` string, nullable
        - `doc_type` string, nullable
        - `version` string, nullable
        - `release` string, nullable
        - `section_number` string, nullable
        - `section_title` string, nullable
        - `table` string, nullable: The table compared against.
        - `row` string, nullable: The table row or ASN.1 line compared against.
        - `citation` string, nullable
        - `official_url` string, nullable
        - `provenance` object, nullable
    - `not_checked` string[], required
  - `not_checked` string[], required: What could not be checked for the whole paste, in plain words.
  - `limits` string[], required: Checks this version never runs.
  - `privacy_note` string, nullable
  - `summary` object, nullable
  - `elapsed_ms` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/3gppscout/apis/3gpp-scout-api.md) · [All operations](https://skmtc.dev/3gppscout/apis/3gpp-scout-api/llms.txt) · [OpenAPI document](https://skmtc.dev/3gppscout/apis/3gpp-scout-api/revisions/60bd6896e5b9?raw)
