---
title: "Test a Connection Schema"
method: POST
path: "/v1/connection_tables/schemas/test"
tags: ["connection_tables"]
---

# Test a Connection Schema

`POST /v1/connection_tables/schemas/test`

## Request

- Base URL: `/api/` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/api/v1/connection_tables/schemas/test`
- Auth: none declared

## Request body

- ConnectionSchema
  - `bad_data` union
    - object
      - `behavior` 'fail', required
    - object
      - `behavior` 'drop', required
  - `definition` union
    - object
      - `schema` string, required
      - `type` 'json_schema', required
    - object
      - `dependencies` object
      - `schema` string, required
      - `type` 'protobuf_schema', required
    - object
      - `schema` string, required
      - `type` 'avro_schema', required
  - `fields` SourceField[]
    - union
      - object
        - `type` 'int32', required
        - `metadata_key` string, nullable
        - `name` string, required
        - `required` boolean
        - `sql_name` string, nullable
      - object
        - `type` 'int64', required
        - `metadata_key` string, nullable
        - `name` string, required
        - `required` boolean
        - `sql_name` string, nullable
      - object
        - `type` 'uint32', required
        - `metadata_key` string, nullable
        - `name` string, required
        - `required` boolean
        - `sql_name` string, nullable
      - object
        - `type` 'uint64', required
        - `metadata_key` string, nullable
        - `name` string, required
        - `required` boolean
        - `sql_name` string, nullable
      - object
        - `type` 'float32', required
        - `metadata_key` string, nullable
        - `name` string, required
        - `required` boolean
        - `sql_name` string, nullable
      - object
        - `type` 'float64', required
        - `metadata_key` string, nullable
        - `name` string, required
        - `required` boolean
        - `sql_name` string, nullable
      - object
        - `precision` integer, required
        - `scale` integer, required
        - `type` 'decimal128', required
        - `metadata_key` string, nullable
        - `name` string, required
        - `required` boolean
        - `sql_name` string, nullable
      - object
        - `type` 'bool', required
        - `metadata_key` string, nullable
        - `name` string, required
        - `required` boolean
        - `sql_name` string, nullable
      - object
        - `type` 'string', required
        - `metadata_key` string, nullable
        - `name` string, required
        - `required` boolean
        - `sql_name` string, nullable
      - object
        - `type` 'bytes', required
        - `metadata_key` string, nullable
        - `name` string, required
        - `required` boolean
        - `sql_name` string, nullable
      - object
        - `unit` 'second' | 'millisecond' | 'microsecond' | 'nanosecond'
        - `type` 'timestamp', required
        - `metadata_key` string, nullable
        - `name` string, required
        - `required` boolean
        - `sql_name` string, nullable
      - object
        - `type` 'json', required
        - `metadata_key` string, nullable
        - `name` string, required
        - `required` boolean
        - `sql_name` string, nullable
      - object
        - `fields` SourceField[], required
        - `type` 'struct', required
        - `metadata_key` string, nullable
        - `name` string, required
        - `required` boolean
        - `sql_name` string, nullable
      - object
        - `items` union, required
          - object
            - `type` 'int32', required
            - `name` string
            - `required` boolean
            - `sql_name` string, nullable
          - object
            - `type` 'int64', required
            - `name` string
            - `required` boolean
            - `sql_name` string, nullable
          - object
            - `type` 'uint32', required
            - `name` string
            - `required` boolean
            - `sql_name` string, nullable
          - object
            - `type` 'uint64', required
            - `name` string
            - `required` boolean
            - `sql_name` string, nullable
          - object
            - `type` 'float32', required
            - `name` string
            - `required` boolean
            - `sql_name` string, nullable
          - object
            - `type` 'float64', required
            - `name` string
            - `required` boolean
            - `sql_name` string, nullable
          - object
            - `precision` integer, required
            - `scale` integer, required
            - `type` 'decimal128', required
            - `name` string
            - `required` boolean
            - `sql_name` string, nullable
          - object
            - `type` 'bool', required
            - `name` string
            - `required` boolean
            - `sql_name` string, nullable
          - object
            - `type` 'string', required
            - `name` string
            - `required` boolean
            - `sql_name` string, nullable
          - object
            - `type` 'bytes', required
            - `name` string
            - `required` boolean
            - `sql_name` string, nullable
          - object
            - `unit` 'second' | 'millisecond' | 'microsecond' | 'nanosecond'
            - `type` 'timestamp', required
            - `name` string
            - `required` boolean
            - `sql_name` string, nullable
          - object
            - `type` 'json', required
            - `name` string
            - `required` boolean
            - `sql_name` string, nullable
          - object
            - `fields` SourceField[], required
            - `type` 'struct', required
            - `name` string
            - `required` boolean
            - `sql_name` string, nullable
          - object
            - `items` ListFieldItem, required (recursive)
            - `type` 'list', required
            - `name` string
            - `required` boolean
            - `sql_name` string, nullable
        - `type` 'list', required
        - `metadata_key` string, nullable
        - `name` string, required
        - `required` boolean
        - `sql_name` string, nullable
  - `format` union
    - object
      - `confluent_schema_registry` boolean
      - `debezium` boolean
      - `decimal_encoding` 'number' | 'string' | 'bytes'
      - `include_schema` boolean
      - `schema_id` integer, nullable
      - `timestamp_format` 'rfc3339' | 'unix_millis'
      - `unstructured` boolean
      - `type` 'json', required
    - object
      - `confluent_schema_registry` boolean
      - `into_unstructured_json` boolean
      - `raw_datums` boolean
      - `reader_schema` string
      - `schema_id` integer, nullable
      - `type` 'avro', required
    - object
      - `compiled_schema` string, binary, nullable
      - `confluent_schema_registry` boolean
      - `into_unstructured_json` boolean
      - `length_delimited` boolean
      - `message_name` string, nullable
      - `type` 'protobuf', required
    - object
      - `compression` 'uncompressed' | 'snappy' | 'gzip' | 'zstd' | 'lz4' | 'lz4_raw'
      - `row_group_bytes` integer, nullable
      - `type` 'parquet', required
    - object
      - `type` 'raw_string', required
    - object
      - `type` 'raw_bytes', required
  - `framing` Framing
    - `max_line_length` integer, nullable
    - `method` 'newline', required
  - `inferred` boolean, nullable
  - `primary_keys` string[]

## Response `200`

Schema is valid

---

[API](https://skmtc.dev/arroyosystems/apis/arroyo-rest-api.md) - [All operations](https://skmtc.dev/arroyosystems/apis/arroyo-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/arroyosystems/apis/arroyo-rest-api/revisions/226b33c4af0f?raw)
