{
  "components": {
    "responses": {
      "errors": {
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "$ref": "#/components/schemas/errors"
            }
          }
        },
        "description": "General Error"
      }
    },
    "schemas": {
      "HodoflowErrorDocument": {
        "properties": {
          "errors": {
            "items": {
              "properties": {
                "code": {
                  "type": "string"
                },
                "detail": {
                  "type": "string"
                },
                "meta": {
                  "properties": {
                    "correlation_id": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "status": {
                  "type": "string"
                }
              },
              "required": [
                "code",
                "status",
                "detail"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "errors"
        ],
        "type": "object"
      },
      "TokenRequest": {
        "properties": {
          "client_id": {
            "example": "cid_example",
            "type": "string"
          },
          "client_secret": {
            "format": "password",
            "type": "string",
            "writeOnly": true
          },
          "grant_type": {
            "enum": [
              "client_credentials"
            ],
            "type": "string"
          }
        },
        "required": [
          "grant_type",
          "client_id",
          "client_secret"
        ],
        "type": "object"
      },
      "TokenResponse": {
        "properties": {
          "access_token": {
            "format": "password",
            "readOnly": true,
            "type": "string"
          },
          "expires_in": {
            "description": "Lifetime in seconds; 900 by default.",
            "type": "integer"
          },
          "token_type": {
            "enum": [
              "bearer"
            ],
            "type": "string"
          }
        },
        "required": [
          "access_token",
          "token_type",
          "expires_in"
        ],
        "type": "object"
      },
      "WebhookAccepted": {
        "properties": {
          "status": {
            "enum": [
              "accepted",
              "duplicate"
            ],
            "type": "string"
          },
          "workflow_run_id": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "api_spec": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for aPI specifications.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a api_spec",
            "properties": {
              "external_connector_id": {
                "anyOf": [
                  {
                    "format": "uuid",
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Attached external connector identifier, when configured.",
                "readOnly": true
              },
              "format": {
                "description": "Serialization of the uploaded document. Field included by default.",
                "enum": [
                  "json",
                  "yaml"
                ],
                "readOnly": true,
                "type": "string"
              },
              "name": {
                "description": "Human label for the imported spec, e.g. 'Stripe API'. Field included by default.",
                "readOnly": true,
                "type": "string"
              },
              "openapi_version": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Declared spec version, e.g. '3.0.3', '3.1.0', or '2.0' (Swagger). Field included by default.",
                "readOnly": true
              },
              "operations": {
                "description": "Normalized operations from the Parser. Each: operation_ref, method, path, params, request_schema, response_schema, request_fingerprint, response_fingerprint.",
                "items": {
                  "type": "object"
                },
                "readOnly": true,
                "type": "array"
              },
              "organization_id": {
                "description": "Organization that owns the resource.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              },
              "raw_document": {
                "description": "The original uploaded document, verbatim (JSON or YAML text).",
                "readOnly": true,
                "type": "string"
              },
              "security_schemes": {
                "description": "components.securitySchemes from the spec; informs connector auth_type. Field included by default.",
                "readOnly": true,
                "type": "object"
              },
              "servers": {
                "description": "Normalized server entries (%{\"url\" => ..., \"description\" => ...}). Field included by default.",
                "items": {
                  "type": "object"
                },
                "readOnly": true,
                "type": "array"
              },
              "title": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "info.title from the spec. Field included by default.",
                "readOnly": true
              },
              "version": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "info.version from the spec. Field included by default.",
                "readOnly": true
              }
            },
            "required": [
              "name",
              "raw_document",
              "format",
              "servers",
              "security_schemes",
              "operations",
              "organization_id"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a api_spec",
            "properties": {
              "external_connector": {
                "description": "External connector returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for external_connector",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              },
              "organization": {
                "description": "Organization returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for organization",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              }
            },
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "api_spec-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/api_spec-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "external_connector": {
            "$ref": "#/components/schemas/external_connector-filter",
            "description": "Filter by external connector using the declared operator shape."
          },
          "external_connector_id": {
            "$ref": "#/components/schemas/api_spec-filter-external_connector_id",
            "description": "Attached external connector identifier, when configured."
          },
          "format": {
            "$ref": "#/components/schemas/api_spec-filter-format",
            "description": "Filter by format using the declared operator shape."
          },
          "id": {
            "$ref": "#/components/schemas/api_spec-filter-id",
            "description": "Stable resource identifier."
          },
          "name": {
            "$ref": "#/components/schemas/api_spec-filter-name",
            "description": "Human-readable resource name."
          },
          "not": {
            "$ref": "#/components/schemas/api_spec-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "openapi_version": {
            "$ref": "#/components/schemas/api_spec-filter-openapi_version",
            "description": "Filter by openapi version using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/api_spec-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "organization": {
            "$ref": "#/components/schemas/organization-filter",
            "description": "Filter by organization using the declared operator shape."
          },
          "organization_id": {
            "$ref": "#/components/schemas/api_spec-filter-organization_id",
            "description": "Organization that owns the resource."
          },
          "raw_document": {
            "$ref": "#/components/schemas/api_spec-filter-raw_document",
            "description": "Filter by raw document using the declared operator shape."
          },
          "security_schemes": {
            "$ref": "#/components/schemas/api_spec-filter-security_schemes",
            "description": "Filter by security schemes using the declared operator shape."
          },
          "title": {
            "$ref": "#/components/schemas/api_spec-filter-title",
            "description": "Filter by title using the declared operator shape."
          },
          "version": {
            "$ref": "#/components/schemas/api_spec-filter-version",
            "description": "Filter by version using the declared operator shape."
          }
        },
        "type": "deepObject"
      },
      "api_spec-filter-external_connector_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "api_spec-filter-format": {
        "additionalProperties": false,
        "description": "Serialization of the uploaded document.",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "json",
              "yaml"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "json",
              "yaml"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "json",
              "yaml"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "json",
              "yaml"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "json",
              "yaml"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "json",
              "yaml"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "api_spec-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "api_spec-filter-name": {
        "additionalProperties": false,
        "description": "Human label for the imported spec, e.g. 'Stripe API'.",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "api_spec-filter-openapi_version": {
        "additionalProperties": false,
        "description": "Declared spec version, e.g. '3.0.3', '3.1.0', or '2.0' (Swagger).",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "api_spec-filter-organization_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "api_spec-filter-raw_document": {
        "additionalProperties": false,
        "description": "The original uploaded document, verbatim (JSON or YAML text).",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "api_spec-filter-security_schemes": {
        "additionalProperties": false,
        "description": "components.securitySchemes from the spec; informs connector auth_type.",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "object"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "object"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "object"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "object"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "object"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "api_spec-filter-title": {
        "additionalProperties": false,
        "description": "info.title from the spec.",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "api_spec-filter-version": {
        "additionalProperties": false,
        "description": "info.version from the spec.",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "credential": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for service accounts.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a credential",
            "properties": {
              "client_id": {
                "description": "Public identifier of the service account.",
                "readOnly": true,
                "type": "string"
              },
              "is_active": {
                "description": "Whether the resource currently accepts use.",
                "readOnly": true,
                "type": "boolean"
              },
              "name": {
                "description": "Human-readable resource name.",
                "readOnly": true,
                "type": "string"
              },
              "scopes": {
                "description": "Permissions granted to the service account.",
                "items": {
                  "enum": [
                    "webhooks",
                    "api_read",
                    "api_write",
                    "embed"
                  ],
                  "type": "string"
                },
                "readOnly": true,
                "type": "array"
              }
            },
            "required": [
              "name",
              "client_id",
              "scopes",
              "is_active"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a credential",
            "properties": {},
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "credential-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/credential-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "client_id": {
            "$ref": "#/components/schemas/credential-filter-client_id",
            "description": "Public identifier of the service account."
          },
          "id": {
            "$ref": "#/components/schemas/credential-filter-id",
            "description": "Stable resource identifier."
          },
          "is_active": {
            "$ref": "#/components/schemas/credential-filter-is_active",
            "description": "Whether the resource currently accepts use."
          },
          "name": {
            "$ref": "#/components/schemas/credential-filter-name",
            "description": "Human-readable resource name."
          },
          "not": {
            "$ref": "#/components/schemas/credential-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/credential-filter"
            },
            "type": "array",
            "uniqueItems": true
          }
        },
        "type": "deepObject"
      },
      "credential-filter-client_id": {
        "additionalProperties": false,
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "credential-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "credential-filter-is_active": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "boolean"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "boolean"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "boolean"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "boolean"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "boolean"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "boolean"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "credential-filter-name": {
        "additionalProperties": false,
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "dashboard": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for dashboards.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a dashboard",
            "properties": {
              "created_by_id": {
                "anyOf": [
                  {
                    "format": "uuid",
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Created by id returned by the public contract.",
                "readOnly": true
              },
              "description": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Human-readable description.",
                "readOnly": true
              },
              "filters": {
                "anyOf": [
                  {
                    "additionalProperties": false,
                    "nullable": true,
                    "properties": {
                      "time_range": {
                        "anyOf": [
                          {
                            "additionalProperties": false,
                            "nullable": true,
                            "properties": {
                              "from": {
                                "anyOf": [
                                  {},
                                  {
                                    "type": "null"
                                  }
                                ],
                                "description": "Inclusive lower bound. Required iff preset == :custom. Field included by default."
                              },
                              "preset": {
                                "description": "Named time window. :custom uses the from/to attributes literally. Field included by default.",
                                "enum": [
                                  "last_1h",
                                  "last_24h",
                                  "last_7d",
                                  "last_30d",
                                  "all_time",
                                  "custom"
                                ],
                                "type": "string"
                              },
                              "to": {
                                "anyOf": [
                                  {},
                                  {
                                    "type": "null"
                                  }
                                ],
                                "description": "Exclusive upper bound. Required iff preset == :custom; must be > from. Field included by default."
                              }
                            },
                            "required": [
                              "preset"
                            ],
                            "type": "object"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "description": "Optional time-window constraint. nil means no time filter at this layer. Field included by default."
                      }
                    },
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Author-baseline filter set applied to all widgets on this dashboard; merged with widget filters and runtime overlays. Field included by default.",
                "readOnly": true
              },
              "is_public": {
                "description": "Whether this dashboard is publicly embeddable. Field included by default.",
                "readOnly": true,
                "type": "boolean"
              },
              "name": {
                "description": "Human-readable resource name.",
                "readOnly": true,
                "type": "string"
              },
              "organization_id": {
                "description": "Organization that owns the resource.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              }
            },
            "required": [
              "name",
              "is_public",
              "organization_id"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a dashboard",
            "properties": {
              "created_by": {
                "description": "Created by returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for created_by",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              },
              "dashboard_widgets": {
                "description": "Dashboard widgets returned by the public contract.",
                "properties": {
                  "data": {
                    "description": "Relationship data for dashboard_widgets",
                    "items": {
                      "additionalProperties": false,
                      "description": "Resource identifiers for dashboard_widgets",
                      "properties": {
                        "id": {
                          "description": "Stable resource identifier.",
                          "type": "string"
                        },
                        "meta": {
                          "additionalProperties": true,
                          "description": "Meta returned by the public contract.",
                          "type": "object"
                        },
                        "type": {
                          "description": "JSON:API resource type.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "uniqueItems": true
                  }
                }
              },
              "organization": {
                "description": "Organization returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for organization",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              },
              "widgets": {
                "description": "Widgets returned by the public contract.",
                "properties": {
                  "data": {
                    "description": "Relationship data for widgets",
                    "items": {
                      "additionalProperties": false,
                      "description": "Resource identifiers for widgets",
                      "properties": {
                        "id": {
                          "description": "Stable resource identifier.",
                          "type": "string"
                        },
                        "meta": {
                          "additionalProperties": true,
                          "description": "Meta returned by the public contract.",
                          "type": "object"
                        },
                        "type": {
                          "description": "JSON:API resource type.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "uniqueItems": true
                  }
                }
              }
            },
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "dashboard-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/dashboard-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "created_by": {
            "$ref": "#/components/schemas/user-filter",
            "description": "Filter by created by using the declared operator shape."
          },
          "created_by_id": {
            "$ref": "#/components/schemas/dashboard-filter-created_by_id",
            "description": "Filter by created by id using the declared operator shape."
          },
          "dashboard_widgets": {
            "$ref": "#/components/schemas/dashboard_widget-filter",
            "description": "Filter by dashboard widgets using the declared operator shape."
          },
          "description": {
            "$ref": "#/components/schemas/dashboard-filter-description",
            "description": "Human-readable description."
          },
          "id": {
            "$ref": "#/components/schemas/dashboard-filter-id",
            "description": "Stable resource identifier."
          },
          "is_public": {
            "$ref": "#/components/schemas/dashboard-filter-is_public",
            "description": "Filter by is public using the declared operator shape."
          },
          "name": {
            "$ref": "#/components/schemas/dashboard-filter-name",
            "description": "Human-readable resource name."
          },
          "not": {
            "$ref": "#/components/schemas/dashboard-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/dashboard-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "organization": {
            "$ref": "#/components/schemas/organization-filter",
            "description": "Filter by organization using the declared operator shape."
          },
          "organization_id": {
            "$ref": "#/components/schemas/dashboard-filter-organization_id",
            "description": "Organization that owns the resource."
          },
          "widgets": {
            "$ref": "#/components/schemas/widget-filter",
            "description": "Filter by widgets using the declared operator shape."
          }
        },
        "type": "deepObject"
      },
      "dashboard-filter-created_by_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "dashboard-filter-description": {
        "additionalProperties": false,
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "dashboard-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "dashboard-filter-is_public": {
        "additionalProperties": false,
        "description": "Whether this dashboard is publicly embeddable",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "boolean"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "boolean"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "boolean"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "boolean"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "boolean"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "boolean"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "dashboard-filter-name": {
        "additionalProperties": false,
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "dashboard-filter-organization_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "dashboard_filters-input-create-type": {
        "additionalProperties": false,
        "properties": {
          "time_range": {
            "anyOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "from": {
                    "anyOf": [
                      {},
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Inclusive lower bound. Required iff preset == :custom."
                  },
                  "preset": {
                    "anyOf": [
                      {
                        "enum": [
                          "last_1h",
                          "last_24h",
                          "last_7d",
                          "last_30d",
                          "all_time",
                          "custom"
                        ],
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Named time window. :custom uses the from/to attributes literally."
                  },
                  "to": {
                    "anyOf": [
                      {},
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Exclusive upper bound. Required iff preset == :custom; must be > from."
                  }
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional time-window constraint. nil means no time filter at this layer."
          }
        },
        "type": "object"
      },
      "dashboard_filters-input-update-type": {
        "additionalProperties": false,
        "properties": {
          "time_range": {
            "anyOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "from": {
                    "anyOf": [
                      {},
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Inclusive lower bound. Required iff preset == :custom."
                  },
                  "preset": {
                    "anyOf": [
                      {
                        "enum": [
                          "last_1h",
                          "last_24h",
                          "last_7d",
                          "last_30d",
                          "all_time",
                          "custom"
                        ],
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Named time window. :custom uses the from/to attributes literally."
                  },
                  "to": {
                    "anyOf": [
                      {},
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Exclusive upper bound. Required iff preset == :custom; must be > from."
                  }
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional time-window constraint. nil means no time filter at this layer."
          }
        },
        "type": "object"
      },
      "dashboard_widget": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for widget placements.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a dashboard_widget",
            "properties": {
              "dashboard_id": {
                "description": "Dashboard id returned by the public contract.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              },
              "position": {
                "description": "Grid position and size: {x, y, w, h}. Field included by default.",
                "readOnly": true,
                "type": "object"
              },
              "widget_id": {
                "description": "Widget id returned by the public contract.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              }
            },
            "required": [
              "position",
              "dashboard_id",
              "widget_id"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a dashboard_widget",
            "properties": {
              "dashboard": {
                "description": "Dashboard returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for dashboard",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              },
              "widget": {
                "description": "Widget returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for widget",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              }
            },
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "dashboard_widget-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/dashboard_widget-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "dashboard": {
            "$ref": "#/components/schemas/dashboard-filter",
            "description": "Filter by dashboard using the declared operator shape."
          },
          "dashboard_id": {
            "$ref": "#/components/schemas/dashboard_widget-filter-dashboard_id",
            "description": "Filter by dashboard id using the declared operator shape."
          },
          "id": {
            "$ref": "#/components/schemas/dashboard_widget-filter-id",
            "description": "Stable resource identifier."
          },
          "not": {
            "$ref": "#/components/schemas/dashboard_widget-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/dashboard_widget-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "position": {
            "$ref": "#/components/schemas/dashboard_widget-filter-position",
            "description": "Filter by position using the declared operator shape."
          },
          "widget": {
            "$ref": "#/components/schemas/widget-filter",
            "description": "Filter by widget using the declared operator shape."
          },
          "widget_id": {
            "$ref": "#/components/schemas/dashboard_widget-filter-widget_id",
            "description": "Filter by widget id using the declared operator shape."
          }
        },
        "type": "deepObject"
      },
      "dashboard_widget-filter-dashboard_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "dashboard_widget-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "dashboard_widget-filter-position": {
        "additionalProperties": false,
        "description": "Grid position and size: {x, y, w, h}",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "object"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "object"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "object"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "object"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "object"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "dashboard_widget-filter-widget_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "data_model": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for data models.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a data_model",
            "properties": {
              "description": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Human-readable description.",
                "readOnly": true
              },
              "json_schema": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "JSON Schema Draft 7 generated from DataModelFields",
                "readOnly": true
              },
              "name": {
                "description": "Human-readable name, e.g. \"Customer\". Field included by default.",
                "readOnly": true,
                "type": "string"
              },
              "organization_id": {
                "description": "Organization that owns the resource.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              },
              "retention_days": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "How many days of records to keep. Records observed before that window are permanently deleted by the nightly sweep. Nil keeps every record. Field included by default.",
                "readOnly": true
              },
              "slug": {
                "description": "URL-safe identifier, e.g. \"customer\" (unique per organization). Field included by default.",
                "readOnly": true,
                "type": "string"
              }
            },
            "required": [
              "name",
              "slug",
              "organization_id"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a data_model",
            "properties": {
              "fields": {
                "description": "Fields returned by the public contract.",
                "properties": {
                  "data": {
                    "description": "Relationship data for fields",
                    "items": {
                      "additionalProperties": false,
                      "description": "Resource identifiers for fields",
                      "properties": {
                        "id": {
                          "description": "Stable resource identifier.",
                          "type": "string"
                        },
                        "meta": {
                          "additionalProperties": true,
                          "description": "Meta returned by the public contract.",
                          "type": "object"
                        },
                        "type": {
                          "description": "JSON:API resource type.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "uniqueItems": true
                  }
                }
              },
              "organization": {
                "description": "Organization returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for organization",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              }
            },
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "data_model-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/data_model-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "description": {
            "$ref": "#/components/schemas/data_model-filter-description",
            "description": "Human-readable description."
          },
          "fields": {
            "$ref": "#/components/schemas/data_model_field-filter",
            "description": "Filter by fields using the declared operator shape."
          },
          "id": {
            "$ref": "#/components/schemas/data_model-filter-id",
            "description": "Stable resource identifier."
          },
          "name": {
            "$ref": "#/components/schemas/data_model-filter-name",
            "description": "Human-readable resource name."
          },
          "not": {
            "$ref": "#/components/schemas/data_model-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/data_model-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "organization": {
            "$ref": "#/components/schemas/organization-filter",
            "description": "Filter by organization using the declared operator shape."
          },
          "organization_id": {
            "$ref": "#/components/schemas/data_model-filter-organization_id",
            "description": "Organization that owns the resource."
          },
          "retention_days": {
            "$ref": "#/components/schemas/data_model-filter-retention_days",
            "description": "Filter by retention days using the declared operator shape."
          },
          "slug": {
            "$ref": "#/components/schemas/data_model-filter-slug",
            "description": "Stable wire identifier derived for the resource."
          }
        },
        "type": "deepObject"
      },
      "data_model-filter-description": {
        "additionalProperties": false,
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "data_model-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "data_model-filter-name": {
        "additionalProperties": false,
        "description": "Human-readable name, e.g. \"Customer\"",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "data_model-filter-organization_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "data_model-filter-retention_days": {
        "additionalProperties": false,
        "description": "How many days of records to keep. Records observed before that window are permanently deleted by the nightly sweep. Nil keeps every record.",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "integer"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "integer"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "integer"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "integer"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "integer"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "data_model-filter-slug": {
        "additionalProperties": false,
        "description": "URL-safe identifier, e.g. \"customer\" (unique per organization)",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "data_model_field": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for data model fields.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a data_model_field",
            "properties": {
              "constraints": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Forward-compatible map of UI-captured constraints (e.g. max_length, min, max, regex, past_only, future_only). Not yet enforced server-side. Field included by default.",
                "readOnly": true
              },
              "data_model_id": {
                "description": "Data model id returned by the public contract.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              },
              "description": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Optional human-readable description of the field's purpose. Field included by default.",
                "readOnly": true
              },
              "is_primary_key": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "If true, this field identifies the business entity for grouping/aggregating Facts. Field included by default.",
                "readOnly": true
              },
              "is_required": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Is required returned by the public contract.",
                "readOnly": true
              },
              "name": {
                "description": "Field name, e.g. \"email_address\". Must start with a lowercase letter; lowercase letters, numbers, and underscores only. Field included by default.",
                "readOnly": true,
                "type": "string"
              },
              "type": {
                "anyOf": [
                  {
                    "enum": [
                      "string",
                      "integer",
                      "boolean",
                      "datetime",
                      "float",
                      "map"
                    ],
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Data type for validation. Field included by default.",
                "readOnly": true
              }
            },
            "required": [
              "name",
              "data_model_id"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a data_model_field",
            "properties": {
              "data_model": {
                "description": "Data model returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for data_model",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              }
            },
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "data_model_field-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/data_model_field-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "constraints": {
            "$ref": "#/components/schemas/data_model_field-filter-constraints",
            "description": "Filter by constraints using the declared operator shape."
          },
          "data_model": {
            "$ref": "#/components/schemas/data_model-filter",
            "description": "Filter by data model using the declared operator shape."
          },
          "data_model_id": {
            "$ref": "#/components/schemas/data_model_field-filter-data_model_id",
            "description": "Filter by data model id using the declared operator shape."
          },
          "description": {
            "$ref": "#/components/schemas/data_model_field-filter-description",
            "description": "Human-readable description."
          },
          "id": {
            "$ref": "#/components/schemas/data_model_field-filter-id",
            "description": "Stable resource identifier."
          },
          "is_primary_key": {
            "$ref": "#/components/schemas/data_model_field-filter-is_primary_key",
            "description": "Filter by is primary key using the declared operator shape."
          },
          "is_required": {
            "$ref": "#/components/schemas/data_model_field-filter-is_required",
            "description": "Filter by is required using the declared operator shape."
          },
          "name": {
            "$ref": "#/components/schemas/data_model_field-filter-name",
            "description": "Human-readable resource name."
          },
          "not": {
            "$ref": "#/components/schemas/data_model_field-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/data_model_field-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "type": {
            "$ref": "#/components/schemas/data_model_field-filter-type",
            "description": "JSON:API resource type."
          }
        },
        "type": "deepObject"
      },
      "data_model_field-filter-constraints": {
        "additionalProperties": false,
        "description": "Forward-compatible map of UI-captured constraints (e.g. max_length, min, max, regex, past_only, future_only). Not yet enforced server-side.",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "object"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "object"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "object"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "object"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "object"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "data_model_field-filter-data_model_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "data_model_field-filter-description": {
        "additionalProperties": false,
        "description": "Optional human-readable description of the field's purpose",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "data_model_field-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "data_model_field-filter-is_primary_key": {
        "additionalProperties": false,
        "description": "If true, this field identifies the business entity for grouping/aggregating Facts",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "boolean"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "boolean"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "boolean"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "boolean"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "boolean"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "boolean"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "data_model_field-filter-is_required": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "boolean"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "boolean"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "boolean"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "boolean"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "boolean"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "boolean"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "data_model_field-filter-name": {
        "additionalProperties": false,
        "description": "Field name, e.g. \"email_address\". Must start with a lowercase letter; lowercase letters, numbers, and underscores only.",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "data_model_field-filter-type": {
        "additionalProperties": false,
        "description": "Data type for validation",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "string",
              "integer",
              "boolean",
              "datetime",
              "float",
              "map"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "string",
              "integer",
              "boolean",
              "datetime",
              "float",
              "map"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "string",
              "integer",
              "boolean",
              "datetime",
              "float",
              "map"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "string",
              "integer",
              "boolean",
              "datetime",
              "float",
              "map"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "string",
              "integer",
              "boolean",
              "datetime",
              "float",
              "map"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "string",
              "integer",
              "boolean",
              "datetime",
              "float",
              "map"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "dead_letter_message": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for dead-letter messages.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a dead_letter_message",
            "properties": {
              "connector_id": {
                "anyOf": [
                  {
                    "format": "uuid",
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Connector id returned by the public contract.",
                "readOnly": true
              },
              "error": {
                "description": "Last error reason. Field included by default.",
                "readOnly": true,
                "type": "string"
              },
              "organization_id": {
                "description": "Organization that owns the resource.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              },
              "retry_count": {
                "description": "Retry count returned by the public contract.",
                "readOnly": true,
                "type": "integer"
              },
              "source": {
                "description": "Source returned by the public contract.",
                "enum": [
                  "kafka",
                  "webhook"
                ],
                "readOnly": true,
                "type": "string"
              },
              "status": {
                "description": "Current outcome status.",
                "enum": [
                  "pending",
                  "permanently_failed"
                ],
                "readOnly": true,
                "type": "string"
              },
              "trigger_id": {
                "description": "Trigger id returned by the public contract.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              }
            },
            "required": [
              "error",
              "source",
              "retry_count",
              "status",
              "trigger_id",
              "organization_id"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a dead_letter_message",
            "properties": {
              "organization": {
                "description": "Organization returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for organization",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              }
            },
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "dead_letter_message-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/dead_letter_message-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "connector_id": {
            "$ref": "#/components/schemas/dead_letter_message-filter-connector_id",
            "description": "Filter by connector id using the declared operator shape."
          },
          "error": {
            "$ref": "#/components/schemas/dead_letter_message-filter-error",
            "description": "Filter by error using the declared operator shape."
          },
          "id": {
            "$ref": "#/components/schemas/dead_letter_message-filter-id",
            "description": "Stable resource identifier."
          },
          "not": {
            "$ref": "#/components/schemas/dead_letter_message-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/dead_letter_message-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "organization": {
            "$ref": "#/components/schemas/organization-filter",
            "description": "Filter by organization using the declared operator shape."
          },
          "organization_id": {
            "$ref": "#/components/schemas/dead_letter_message-filter-organization_id",
            "description": "Organization that owns the resource."
          },
          "retry_count": {
            "$ref": "#/components/schemas/dead_letter_message-filter-retry_count",
            "description": "Filter by retry count using the declared operator shape."
          },
          "source": {
            "$ref": "#/components/schemas/dead_letter_message-filter-source",
            "description": "Filter by source using the declared operator shape."
          },
          "status": {
            "$ref": "#/components/schemas/dead_letter_message-filter-status",
            "description": "Current outcome status."
          },
          "trigger_id": {
            "$ref": "#/components/schemas/dead_letter_message-filter-trigger_id",
            "description": "Filter by trigger id using the declared operator shape."
          }
        },
        "type": "deepObject"
      },
      "dead_letter_message-filter-connector_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "dead_letter_message-filter-error": {
        "additionalProperties": false,
        "description": "Last error reason.",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "dead_letter_message-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "dead_letter_message-filter-organization_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "dead_letter_message-filter-retry_count": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "integer"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "integer"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "integer"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "integer"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "integer"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "dead_letter_message-filter-source": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "kafka",
              "webhook"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "kafka",
              "webhook"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "kafka",
              "webhook"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "kafka",
              "webhook"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "kafka",
              "webhook"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "kafka",
              "webhook"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "dead_letter_message-filter-status": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "pending",
              "permanently_failed"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "pending",
              "permanently_failed"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "pending",
              "permanently_failed"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "pending",
              "permanently_failed"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "pending",
              "permanently_failed"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "pending",
              "permanently_failed"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "dead_letter_message-filter-trigger_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "error": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "description": "An application-specific error code, expressed as a string value.",
            "type": "string"
          },
          "detail": {
            "description": "A human-readable explanation specific to this occurrence of the problem.",
            "type": "string"
          },
          "id": {
            "description": "A unique identifier for this particular occurrence of the problem.",
            "type": "string"
          },
          "links": {
            "$ref": "#/components/schemas/links",
            "description": "Links returned by the public contract."
          },
          "source": {
            "description": "Source returned by the public contract.",
            "properties": {
              "parameter": {
                "description": "A string indicating which query parameter caused the error.",
                "type": "string"
              },
              "pointer": {
                "description": "A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. \"/data\" for a primary data object, or \"/data/attributes/title\" for a specific attribute].",
                "type": "string"
              }
            },
            "type": "object"
          },
          "status": {
            "description": "The HTTP status code applicable to this problem, expressed as a string value.",
            "type": "string"
          },
          "title": {
            "description": "A short, human-readable summary of the problem. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "errors": {
        "items": {
          "$ref": "#/components/schemas/error"
        },
        "type": "array",
        "uniqueItems": true
      },
      "external_connector": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for external connectors.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a external_connector",
            "properties": {
              "auth_type": {
                "description": "Auth type returned by the public contract.",
                "enum": [
                  "none",
                  "oauth2",
                  "api_key",
                  "bearer_token",
                  "basic_auth",
                  "hmac"
                ],
                "readOnly": true,
                "type": "string"
              },
              "config": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Stores base_url, region, client_id, etc. A `rate_limit` block here caps how fast workflow steps may call this provider — see `Dash.Workflows.RateLimiter`. Field included by default.",
                "readOnly": true
              },
              "connector_schema": {
                "anyOf": [
                  {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "name": {
                          "description": "Human-readable resource name.",
                          "type": "string"
                        },
                        "nullable": {
                          "description": "Nullable returned by the public contract.",
                          "type": "boolean"
                        },
                        "type": {
                          "description": "JSON:API resource type.",
                          "enum": [
                            "string",
                            "integer",
                            "float",
                            "boolean",
                            "datetime",
                            "map",
                            "array"
                          ],
                          "type": "string"
                        }
                      },
                      "required": [
                        "name",
                        "type",
                        "nullable"
                      ],
                      "type": "object"
                    },
                    "nullable": true,
                    "type": "array"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Sampled source schema (field shapes) associated with this connector; copied into Workflow.data_schema on workflow creation against the connector. Field included by default.",
                "readOnly": true
              },
              "description": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Optional notes can describe the connector's purpose, owner, and related runbooks. Field included by default.",
                "readOnly": true
              },
              "direction": {
                "anyOf": [
                  {
                    "enum": [
                      "inbound",
                      "outbound"
                    ],
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Direction returned by the public contract.",
                "readOnly": true
              },
              "name": {
                "description": "e.g., 'Shopify Production' or 'SendGrid API'. Field included by default.",
                "readOnly": true,
                "type": "string"
              },
              "organization_id": {
                "description": "Organization that owns the resource.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              },
              "schema_fingerprint": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Opaque hash of the connector's identity-affecting config at the time of the last sample; used to detect drift. Field included by default.",
                "readOnly": true
              },
              "schema_sampled_at": {
                "anyOf": [
                  {},
                  {
                    "type": "null"
                  }
                ],
                "description": "Timestamp of the last successful schema sample for this connector. Field included by default.",
                "readOnly": true
              },
              "status": {
                "anyOf": [
                  {
                    "enum": [
                      "unverified",
                      "verified",
                      "failing"
                    ],
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Current outcome status.",
                "readOnly": true
              },
              "type": {
                "anyOf": [
                  {
                    "enum": [
                      "http",
                      "s3",
                      "kafka",
                      "postgres_cdc",
                      "snowflake"
                    ],
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Determines which driver handles the connection. Field included by default.",
                "readOnly": true
              }
            },
            "required": [
              "name",
              "auth_type",
              "organization_id"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a external_connector",
            "properties": {
              "organization": {
                "description": "Organization returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for organization",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              },
              "steps": {
                "description": "Steps returned by the public contract.",
                "properties": {
                  "data": {
                    "description": "Relationship data for steps",
                    "items": {
                      "additionalProperties": false,
                      "description": "Resource identifiers for steps",
                      "properties": {
                        "id": {
                          "description": "Stable resource identifier.",
                          "type": "string"
                        },
                        "meta": {
                          "additionalProperties": true,
                          "description": "Meta returned by the public contract.",
                          "type": "object"
                        },
                        "type": {
                          "description": "JSON:API resource type.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "uniqueItems": true
                  }
                }
              },
              "triggers": {
                "description": "Triggers returned by the public contract.",
                "properties": {
                  "data": {
                    "description": "Relationship data for triggers",
                    "items": {
                      "additionalProperties": false,
                      "description": "Resource identifiers for triggers",
                      "properties": {
                        "id": {
                          "description": "Stable resource identifier.",
                          "type": "string"
                        },
                        "meta": {
                          "additionalProperties": true,
                          "description": "Meta returned by the public contract.",
                          "type": "object"
                        },
                        "type": {
                          "description": "JSON:API resource type.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "uniqueItems": true
                  }
                }
              }
            },
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "external_connector-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/external_connector-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "auth_type": {
            "$ref": "#/components/schemas/external_connector-filter-auth_type",
            "description": "Filter by auth type using the declared operator shape."
          },
          "config": {
            "$ref": "#/components/schemas/external_connector-filter-config",
            "description": "Filter by config using the declared operator shape."
          },
          "description": {
            "$ref": "#/components/schemas/external_connector-filter-description",
            "description": "Human-readable description."
          },
          "direction": {
            "$ref": "#/components/schemas/external_connector-filter-direction",
            "description": "Filter by direction using the declared operator shape."
          },
          "id": {
            "$ref": "#/components/schemas/external_connector-filter-id",
            "description": "Stable resource identifier."
          },
          "name": {
            "$ref": "#/components/schemas/external_connector-filter-name",
            "description": "Human-readable resource name."
          },
          "not": {
            "$ref": "#/components/schemas/external_connector-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/external_connector-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "organization": {
            "$ref": "#/components/schemas/organization-filter",
            "description": "Filter by organization using the declared operator shape."
          },
          "organization_id": {
            "$ref": "#/components/schemas/external_connector-filter-organization_id",
            "description": "Organization that owns the resource."
          },
          "schema_fingerprint": {
            "$ref": "#/components/schemas/external_connector-filter-schema_fingerprint",
            "description": "Filter by schema fingerprint using the declared operator shape."
          },
          "schema_sampled_at": {
            "$ref": "#/components/schemas/external_connector-filter-schema_sampled_at",
            "description": "Filter by schema sampled at using the declared operator shape."
          },
          "status": {
            "$ref": "#/components/schemas/external_connector-filter-status",
            "description": "Current outcome status."
          },
          "steps": {
            "$ref": "#/components/schemas/workflow_step-filter",
            "description": "Filter by steps using the declared operator shape."
          },
          "triggers": {
            "$ref": "#/components/schemas/workflow_trigger-filter",
            "description": "Filter by triggers using the declared operator shape."
          },
          "type": {
            "$ref": "#/components/schemas/external_connector-filter-type",
            "description": "JSON:API resource type."
          }
        },
        "type": "deepObject"
      },
      "external_connector-filter-auth_type": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "none",
              "oauth2",
              "api_key",
              "bearer_token",
              "basic_auth",
              "hmac"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "none",
              "oauth2",
              "api_key",
              "bearer_token",
              "basic_auth",
              "hmac"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "none",
              "oauth2",
              "api_key",
              "bearer_token",
              "basic_auth",
              "hmac"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "none",
              "oauth2",
              "api_key",
              "bearer_token",
              "basic_auth",
              "hmac"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "none",
              "oauth2",
              "api_key",
              "bearer_token",
              "basic_auth",
              "hmac"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "none",
              "oauth2",
              "api_key",
              "bearer_token",
              "basic_auth",
              "hmac"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "external_connector-filter-config": {
        "additionalProperties": false,
        "description": "Stores base_url, region, client_id, etc. A `rate_limit` block here caps how fast workflow steps may call this provider — see `Dash.Workflows.RateLimiter`.",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "object"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "object"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "object"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "object"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "object"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "external_connector-filter-description": {
        "additionalProperties": false,
        "description": "Optional notes can describe the connector's purpose, owner, and related runbooks.",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "external_connector-filter-direction": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "inbound",
              "outbound"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "inbound",
              "outbound"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "inbound",
              "outbound"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "inbound",
              "outbound"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "inbound",
              "outbound"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "inbound",
              "outbound"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "external_connector-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "external_connector-filter-name": {
        "additionalProperties": false,
        "description": "e.g., 'Shopify Production' or 'SendGrid API'",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "external_connector-filter-organization_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "external_connector-filter-schema_fingerprint": {
        "additionalProperties": false,
        "description": "Opaque hash of the connector's identity-affecting config at the time of the last sample; used to detect drift.",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "external_connector-filter-schema_sampled_at": {
        "additionalProperties": false,
        "description": "Timestamp of the last successful schema sample for this connector.",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape."
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape."
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape."
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {},
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape."
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape."
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape."
          }
        },
        "type": "object"
      },
      "external_connector-filter-status": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "unverified",
              "verified",
              "failing"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "unverified",
              "verified",
              "failing"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "unverified",
              "verified",
              "failing"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "unverified",
              "verified",
              "failing"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "unverified",
              "verified",
              "failing"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "unverified",
              "verified",
              "failing"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "external_connector-filter-type": {
        "additionalProperties": false,
        "description": "Determines which driver handles the connection.",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "http",
              "s3",
              "kafka",
              "postgres_cdc",
              "snowflake"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "http",
              "s3",
              "kafka",
              "postgres_cdc",
              "snowflake"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "http",
              "s3",
              "kafka",
              "postgres_cdc",
              "snowflake"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "http",
              "s3",
              "kafka",
              "postgres_cdc",
              "snowflake"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "http",
              "s3",
              "kafka",
              "postgres_cdc",
              "snowflake"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "http",
              "s3",
              "kafka",
              "postgres_cdc",
              "snowflake"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "link": {
        "description": "A link MUST be represented as either: a string containing the link's URL or a link object.",
        "type": "string"
      },
      "links": {
        "additionalProperties": {
          "$ref": "#/components/schemas/link"
        },
        "type": "object"
      },
      "org_membership": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for organization memberships.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a org_membership",
            "properties": {
              "is_active": {
                "description": "Soft-delete flag. Deactivated memberships are retained for audit trail. Field included by default.",
                "readOnly": true,
                "type": "boolean"
              },
              "role": {
                "description": "Role returned by the public contract.",
                "enum": [
                  "owner",
                  "admin",
                  "member"
                ],
                "readOnly": true,
                "type": "string"
              }
            },
            "required": [
              "role",
              "is_active"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a org_membership",
            "properties": {},
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "org_membership-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/org_membership-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "id": {
            "$ref": "#/components/schemas/org_membership-filter-id",
            "description": "Stable resource identifier."
          },
          "is_active": {
            "$ref": "#/components/schemas/org_membership-filter-is_active",
            "description": "Whether the resource currently accepts use."
          },
          "not": {
            "$ref": "#/components/schemas/org_membership-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/org_membership-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "role": {
            "$ref": "#/components/schemas/org_membership-filter-role",
            "description": "Filter by role using the declared operator shape."
          }
        },
        "type": "deepObject"
      },
      "org_membership-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "org_membership-filter-is_active": {
        "additionalProperties": false,
        "description": "Soft-delete flag. Deactivated memberships are retained for audit trail.",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "boolean"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "boolean"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "boolean"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "boolean"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "boolean"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "boolean"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "org_membership-filter-role": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "owner",
              "admin",
              "member"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "owner",
              "admin",
              "member"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "owner",
              "admin",
              "member"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "owner",
              "admin",
              "member"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "owner",
              "admin",
              "member"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "owner",
              "admin",
              "member"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "organization": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for organizations.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a organization",
            "properties": {
              "domain": {
                "description": "Domain returned by the public contract.",
                "readOnly": true,
                "type": "string"
              },
              "name": {
                "description": "Human-readable resource name.",
                "readOnly": true,
                "type": "string"
              },
              "type": {
                "description": "JSON:API resource type.",
                "enum": [
                  "trial",
                  "production"
                ],
                "readOnly": true,
                "type": "string"
              }
            },
            "required": [
              "name",
              "domain",
              "type"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a organization",
            "properties": {},
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "organization-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/organization-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "domain": {
            "$ref": "#/components/schemas/organization-filter-domain",
            "description": "Filter by domain using the declared operator shape."
          },
          "id": {
            "$ref": "#/components/schemas/organization-filter-id",
            "description": "Stable resource identifier."
          },
          "name": {
            "$ref": "#/components/schemas/organization-filter-name",
            "description": "Human-readable resource name."
          },
          "not": {
            "$ref": "#/components/schemas/organization-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/organization-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "type": {
            "$ref": "#/components/schemas/organization-filter-type",
            "description": "JSON:API resource type."
          }
        },
        "type": "deepObject"
      },
      "organization-filter-domain": {
        "additionalProperties": false,
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "organization-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "organization-filter-name": {
        "additionalProperties": false,
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "organization-filter-type": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "trial",
              "production"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "trial",
              "production"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "trial",
              "production"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "trial",
              "production"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "trial",
              "production"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "trial",
              "production"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "user": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for users.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a user",
            "properties": {
              "email": {
                "description": "Email returned by the public contract.",
                "readOnly": true,
                "type": "string"
              },
              "first_name": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "User's first name. May be nil for accounts created via magic link before profile capture. Field included by default.",
                "readOnly": true
              },
              "last_name": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "User's last name. May be nil for accounts created via magic link before profile capture. Field included by default.",
                "readOnly": true
              },
              "phone_number": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Phone number returned by the public contract.",
                "readOnly": true
              },
              "timezone": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "IANA timezone string, e.g. 'America/New_York'. Detected from browser on signup. Field included by default.",
                "readOnly": true
              }
            },
            "required": [
              "email"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a user",
            "properties": {},
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "user-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/user-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "email": {
            "$ref": "#/components/schemas/user-filter-email",
            "description": "Filter by email using the declared operator shape."
          },
          "first_name": {
            "$ref": "#/components/schemas/user-filter-first_name",
            "description": "Filter by first name using the declared operator shape."
          },
          "id": {
            "$ref": "#/components/schemas/user-filter-id",
            "description": "Stable resource identifier."
          },
          "last_name": {
            "$ref": "#/components/schemas/user-filter-last_name",
            "description": "Filter by last name using the declared operator shape."
          },
          "not": {
            "$ref": "#/components/schemas/user-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/user-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "phone_number": {
            "$ref": "#/components/schemas/user-filter-phone_number",
            "description": "Filter by phone number using the declared operator shape."
          },
          "timezone": {
            "$ref": "#/components/schemas/user-filter-timezone",
            "description": "Filter by timezone using the declared operator shape."
          }
        },
        "type": "deepObject"
      },
      "user-filter-email": {
        "additionalProperties": false,
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "user-filter-first_name": {
        "additionalProperties": false,
        "description": "User's first name. May be nil for accounts created via magic link before profile capture.",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "user-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "user-filter-last_name": {
        "additionalProperties": false,
        "description": "User's last name. May be nil for accounts created via magic link before profile capture.",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "user-filter-phone_number": {
        "additionalProperties": false,
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "user-filter-timezone": {
        "additionalProperties": false,
        "description": "IANA timezone string, e.g. 'America/New_York'. Detected from browser on signup.",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "widget": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for widgets.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a widget",
            "properties": {
              "config": {
                "description": "Type-specific configuration (columns, fields, aggregations, etc.). Field included by default.",
                "readOnly": true,
                "type": "object"
              },
              "data_model_id": {
                "anyOf": [
                  {
                    "format": "uuid",
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Data model id returned by the public contract.",
                "readOnly": true
              },
              "embed_filter_allowlist": {
                "description": "Filter dimensions a public embedder may override at runtime. Defaults to allowing time_range; clear the array to lock all filters. Field included by default.",
                "items": {
                  "type": "string"
                },
                "readOnly": true,
                "type": "array"
              },
              "filters": {
                "anyOf": [
                  {
                    "additionalProperties": false,
                    "nullable": true,
                    "properties": {
                      "time_range": {
                        "anyOf": [
                          {
                            "additionalProperties": false,
                            "nullable": true,
                            "properties": {
                              "from": {
                                "anyOf": [
                                  {},
                                  {
                                    "type": "null"
                                  }
                                ],
                                "description": "Inclusive lower bound. Required iff preset == :custom. Field included by default."
                              },
                              "preset": {
                                "description": "Named time window. :custom uses the from/to attributes literally. Field included by default.",
                                "enum": [
                                  "last_1h",
                                  "last_24h",
                                  "last_7d",
                                  "last_30d",
                                  "all_time",
                                  "custom"
                                ],
                                "type": "string"
                              },
                              "to": {
                                "anyOf": [
                                  {},
                                  {
                                    "type": "null"
                                  }
                                ],
                                "description": "Exclusive upper bound. Required iff preset == :custom; must be > from. Field included by default."
                              }
                            },
                            "required": [
                              "preset"
                            ],
                            "type": "object"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "description": "Optional time-window constraint. nil means no time filter at this layer. Field included by default."
                      }
                    },
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Author-baseline filter set (e.g. time-range constraint) layered with dashboard/runtime overlays at read time. Field included by default.",
                "readOnly": true
              },
              "is_public": {
                "description": "Whether this widget is publicly embeddable. Field included by default.",
                "readOnly": true,
                "type": "boolean"
              },
              "name": {
                "description": "Human-readable resource name.",
                "readOnly": true,
                "type": "string"
              },
              "organization_id": {
                "description": "Organization that owns the resource.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              },
              "source": {
                "description": "Origin: :dashboard (inline, auto-cleaned) or :library (standalone). Field included by default.",
                "enum": [
                  "dashboard",
                  "library"
                ],
                "readOnly": true,
                "type": "string"
              },
              "type": {
                "description": "Widget visualization type. Field included by default.",
                "enum": [
                  "line_chart",
                  "bar_chart",
                  "map_chart",
                  "table",
                  "stat_card",
                  "markdown",
                  "heatmap",
                  "activity_feed",
                  "pivot_table",
                  "pie_chart"
                ],
                "readOnly": true,
                "type": "string"
              }
            },
            "required": [
              "name",
              "type",
              "config",
              "embed_filter_allowlist",
              "source",
              "is_public",
              "organization_id"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a widget",
            "properties": {
              "dashboard_widgets": {
                "description": "Dashboard widgets returned by the public contract.",
                "properties": {
                  "data": {
                    "description": "Relationship data for dashboard_widgets",
                    "items": {
                      "additionalProperties": false,
                      "description": "Resource identifiers for dashboard_widgets",
                      "properties": {
                        "id": {
                          "description": "Stable resource identifier.",
                          "type": "string"
                        },
                        "meta": {
                          "additionalProperties": true,
                          "description": "Meta returned by the public contract.",
                          "type": "object"
                        },
                        "type": {
                          "description": "JSON:API resource type.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "uniqueItems": true
                  }
                }
              },
              "dashboards": {
                "description": "Dashboards returned by the public contract.",
                "properties": {
                  "data": {
                    "description": "Relationship data for dashboards",
                    "items": {
                      "additionalProperties": false,
                      "description": "Resource identifiers for dashboards",
                      "properties": {
                        "id": {
                          "description": "Stable resource identifier.",
                          "type": "string"
                        },
                        "meta": {
                          "additionalProperties": true,
                          "description": "Meta returned by the public contract.",
                          "type": "object"
                        },
                        "type": {
                          "description": "JSON:API resource type.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "uniqueItems": true
                  }
                }
              },
              "data_model": {
                "description": "Data model returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for data_model",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              },
              "organization": {
                "description": "Organization returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for organization",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              }
            },
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "widget-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/widget-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "config": {
            "$ref": "#/components/schemas/widget-filter-config",
            "description": "Filter by config using the declared operator shape."
          },
          "dashboard_widgets": {
            "$ref": "#/components/schemas/dashboard_widget-filter",
            "description": "Filter by dashboard widgets using the declared operator shape."
          },
          "dashboards": {
            "$ref": "#/components/schemas/dashboard-filter",
            "description": "Filter by dashboards using the declared operator shape."
          },
          "data_model": {
            "$ref": "#/components/schemas/data_model-filter",
            "description": "Filter by data model using the declared operator shape."
          },
          "data_model_id": {
            "$ref": "#/components/schemas/widget-filter-data_model_id",
            "description": "Filter by data model id using the declared operator shape."
          },
          "id": {
            "$ref": "#/components/schemas/widget-filter-id",
            "description": "Stable resource identifier."
          },
          "is_public": {
            "$ref": "#/components/schemas/widget-filter-is_public",
            "description": "Filter by is public using the declared operator shape."
          },
          "name": {
            "$ref": "#/components/schemas/widget-filter-name",
            "description": "Human-readable resource name."
          },
          "not": {
            "$ref": "#/components/schemas/widget-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/widget-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "organization": {
            "$ref": "#/components/schemas/organization-filter",
            "description": "Filter by organization using the declared operator shape."
          },
          "organization_id": {
            "$ref": "#/components/schemas/widget-filter-organization_id",
            "description": "Organization that owns the resource."
          },
          "source": {
            "$ref": "#/components/schemas/widget-filter-source",
            "description": "Filter by source using the declared operator shape."
          },
          "type": {
            "$ref": "#/components/schemas/widget-filter-type",
            "description": "JSON:API resource type."
          }
        },
        "type": "deepObject"
      },
      "widget-filter-config": {
        "additionalProperties": false,
        "description": "Type-specific configuration (columns, fields, aggregations, etc.)",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "object"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "object"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "object"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "object"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "object"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "widget-filter-data_model_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "widget-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "widget-filter-is_public": {
        "additionalProperties": false,
        "description": "Whether this widget is publicly embeddable",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "boolean"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "boolean"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "boolean"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "boolean"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "boolean"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "boolean"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "widget-filter-name": {
        "additionalProperties": false,
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "widget-filter-organization_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "widget-filter-source": {
        "additionalProperties": false,
        "description": "Origin: :dashboard (inline, auto-cleaned) or :library (standalone)",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "dashboard",
              "library"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "dashboard",
              "library"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "dashboard",
              "library"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "dashboard",
              "library"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "dashboard",
              "library"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "dashboard",
              "library"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "widget-filter-type": {
        "additionalProperties": false,
        "description": "Widget visualization type",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "line_chart",
              "bar_chart",
              "map_chart",
              "table",
              "stat_card",
              "markdown",
              "heatmap",
              "activity_feed",
              "pivot_table",
              "pie_chart"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "line_chart",
              "bar_chart",
              "map_chart",
              "table",
              "stat_card",
              "markdown",
              "heatmap",
              "activity_feed",
              "pivot_table",
              "pie_chart"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "line_chart",
              "bar_chart",
              "map_chart",
              "table",
              "stat_card",
              "markdown",
              "heatmap",
              "activity_feed",
              "pivot_table",
              "pie_chart"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "line_chart",
              "bar_chart",
              "map_chart",
              "table",
              "stat_card",
              "markdown",
              "heatmap",
              "activity_feed",
              "pivot_table",
              "pie_chart"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "line_chart",
              "bar_chart",
              "map_chart",
              "table",
              "stat_card",
              "markdown",
              "heatmap",
              "activity_feed",
              "pivot_table",
              "pie_chart"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "line_chart",
              "bar_chart",
              "map_chart",
              "table",
              "stat_card",
              "markdown",
              "heatmap",
              "activity_feed",
              "pivot_table",
              "pie_chart"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "widget_filters-input-create-type": {
        "additionalProperties": false,
        "properties": {
          "time_range": {
            "anyOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "from": {
                    "anyOf": [
                      {},
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Inclusive lower bound. Required iff preset == :custom."
                  },
                  "preset": {
                    "anyOf": [
                      {
                        "enum": [
                          "last_1h",
                          "last_24h",
                          "last_7d",
                          "last_30d",
                          "all_time",
                          "custom"
                        ],
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Named time window. :custom uses the from/to attributes literally."
                  },
                  "to": {
                    "anyOf": [
                      {},
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Exclusive upper bound. Required iff preset == :custom; must be > from."
                  }
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional time-window constraint. nil means no time filter at this layer."
          }
        },
        "type": "object"
      },
      "widget_filters-input-update-type": {
        "additionalProperties": false,
        "properties": {
          "time_range": {
            "anyOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "from": {
                    "anyOf": [
                      {},
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Inclusive lower bound. Required iff preset == :custom."
                  },
                  "preset": {
                    "anyOf": [
                      {
                        "enum": [
                          "last_1h",
                          "last_24h",
                          "last_7d",
                          "last_30d",
                          "all_time",
                          "custom"
                        ],
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Named time window. :custom uses the from/to attributes literally."
                  },
                  "to": {
                    "anyOf": [
                      {},
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Exclusive upper bound. Required iff preset == :custom; must be > from."
                  }
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional time-window constraint. nil means no time filter at this layer."
          }
        },
        "type": "object"
      },
      "workflow": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for workflows.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a workflow",
            "properties": {
              "context_semantics_version": {
                "description": "Which context-resolution semantics this version's steps run under: 1 collapses a list-of-maps upstream output to its first element, 2 hands the whole list to formulas and item fan-out. Stamped when the builder saves a definition and frozen with the version. Field included by default.",
                "readOnly": true,
                "type": "integer"
              },
              "data_schema": {
                "anyOf": [
                  {
                    "additionalProperties": false,
                    "nullable": true,
                    "properties": {
                      "source_entries": {
                        "description": "Source entries returned by the public contract.",
                        "items": {
                          "additionalProperties": false,
                          "properties": {
                            "fields": {
                              "description": "Fields returned by the public contract.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "name": {
                                    "description": "Human-readable resource name.",
                                    "type": "string"
                                  },
                                  "nullable": {
                                    "description": "Nullable returned by the public contract.",
                                    "type": "boolean"
                                  },
                                  "type": {
                                    "description": "JSON:API resource type.",
                                    "enum": [
                                      "string",
                                      "integer",
                                      "float",
                                      "boolean",
                                      "datetime",
                                      "map",
                                      "array"
                                    ],
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "name",
                                  "type",
                                  "nullable"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "fingerprint": {
                              "description": "Opaque hash of source-node identity-affecting config; used to detect drift. Field included by default.",
                              "type": "string"
                            },
                            "name": {
                              "description": "User-facing label for this source entry, e.g. \"Orders Topic\". Field included by default.",
                              "type": "string"
                            },
                            "source_step_id": {
                              "description": "ID of the Dash.Workflows.Step that produces data for this entry. Field included by default.",
                              "format": "uuid",
                              "type": "string"
                            }
                          },
                          "required": [
                            "name",
                            "source_step_id",
                            "fingerprint",
                            "fields"
                          ],
                          "type": "object"
                        },
                        "type": "array"
                      }
                    },
                    "required": [
                      "source_entries"
                    ],
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Embedded schema describing the shape of data this workflow was authored against. Field included by default.",
                "readOnly": true
              },
              "description": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Human-readable description.",
                "readOnly": true
              },
              "group_id": {
                "description": "Group id returned by the public contract.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              },
              "is_active": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Whether the resource currently accepts use.",
                "readOnly": true
              },
              "name": {
                "description": "Human-readable resource name.",
                "readOnly": true,
                "type": "string"
              },
              "organization_id": {
                "description": "Organization that owns the resource.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              },
              "published_at": {
                "anyOf": [
                  {},
                  {
                    "type": "null"
                  }
                ],
                "description": "Published at returned by the public contract.",
                "readOnly": true
              },
              "schema_status": {
                "description": "Drift status of the data_schema vs. live sources: :none, :fresh, or :stale. Field included by default.",
                "enum": [
                  "none",
                  "fresh",
                  "stale"
                ],
                "readOnly": true,
                "type": "string"
              },
              "type": {
                "anyOf": [
                  {
                    "enum": [
                      "standard",
                      "subflow"
                    ],
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Workflow type: :standard requires triggers, :subflow is invoked internally by parent workflows. Field included by default.",
                "readOnly": true
              },
              "version_number": {
                "description": "Monotonic authored version number.",
                "readOnly": true,
                "type": "integer"
              }
            },
            "required": [
              "name",
              "group_id",
              "version_number",
              "context_semantics_version",
              "schema_status",
              "organization_id"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a workflow",
            "properties": {
              "organization": {
                "description": "Organization returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for organization",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              },
              "runs": {
                "description": "Runs returned by the public contract.",
                "properties": {
                  "data": {
                    "description": "Relationship data for runs",
                    "items": {
                      "additionalProperties": false,
                      "description": "Resource identifiers for runs",
                      "properties": {
                        "id": {
                          "description": "Stable resource identifier.",
                          "type": "string"
                        },
                        "meta": {
                          "additionalProperties": true,
                          "description": "Meta returned by the public contract.",
                          "type": "object"
                        },
                        "type": {
                          "description": "JSON:API resource type.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "uniqueItems": true
                  }
                }
              },
              "steps": {
                "description": "Steps returned by the public contract.",
                "properties": {
                  "data": {
                    "description": "Relationship data for steps",
                    "items": {
                      "additionalProperties": false,
                      "description": "Resource identifiers for steps",
                      "properties": {
                        "id": {
                          "description": "Stable resource identifier.",
                          "type": "string"
                        },
                        "meta": {
                          "additionalProperties": true,
                          "description": "Meta returned by the public contract.",
                          "type": "object"
                        },
                        "type": {
                          "description": "JSON:API resource type.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "uniqueItems": true
                  }
                }
              },
              "triggers": {
                "description": "Triggers returned by the public contract.",
                "properties": {
                  "data": {
                    "description": "Relationship data for triggers",
                    "items": {
                      "additionalProperties": false,
                      "description": "Resource identifiers for triggers",
                      "properties": {
                        "id": {
                          "description": "Stable resource identifier.",
                          "type": "string"
                        },
                        "meta": {
                          "additionalProperties": true,
                          "description": "Meta returned by the public contract.",
                          "type": "object"
                        },
                        "type": {
                          "description": "JSON:API resource type.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "uniqueItems": true
                  }
                }
              }
            },
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "workflow-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/workflow-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "context_semantics_version": {
            "$ref": "#/components/schemas/workflow-filter-context_semantics_version",
            "description": "Filter by context semantics version using the declared operator shape."
          },
          "description": {
            "$ref": "#/components/schemas/workflow-filter-description",
            "description": "Human-readable description."
          },
          "group_id": {
            "$ref": "#/components/schemas/workflow-filter-group_id",
            "description": "Filter by group id using the declared operator shape."
          },
          "id": {
            "$ref": "#/components/schemas/workflow-filter-id",
            "description": "Stable resource identifier."
          },
          "is_active": {
            "$ref": "#/components/schemas/workflow-filter-is_active",
            "description": "Whether the resource currently accepts use."
          },
          "name": {
            "$ref": "#/components/schemas/workflow-filter-name",
            "description": "Human-readable resource name."
          },
          "not": {
            "$ref": "#/components/schemas/workflow-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/workflow-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "organization": {
            "$ref": "#/components/schemas/organization-filter",
            "description": "Filter by organization using the declared operator shape."
          },
          "organization_id": {
            "$ref": "#/components/schemas/workflow-filter-organization_id",
            "description": "Organization that owns the resource."
          },
          "published_at": {
            "$ref": "#/components/schemas/workflow-filter-published_at",
            "description": "Filter by published at using the declared operator shape."
          },
          "runs": {
            "$ref": "#/components/schemas/workflow_run-filter",
            "description": "Filter by runs using the declared operator shape."
          },
          "schema_status": {
            "$ref": "#/components/schemas/workflow-filter-schema_status",
            "description": "Filter by schema status using the declared operator shape."
          },
          "steps": {
            "$ref": "#/components/schemas/workflow_step-filter",
            "description": "Filter by steps using the declared operator shape."
          },
          "triggers": {
            "$ref": "#/components/schemas/workflow_trigger-filter",
            "description": "Filter by triggers using the declared operator shape."
          },
          "type": {
            "$ref": "#/components/schemas/workflow-filter-type",
            "description": "JSON:API resource type."
          },
          "version_number": {
            "$ref": "#/components/schemas/workflow-filter-version_number",
            "description": "Monotonic authored version number."
          }
        },
        "type": "deepObject"
      },
      "workflow-filter-context_semantics_version": {
        "additionalProperties": false,
        "description": "Which context-resolution semantics this version's steps run under: 1 collapses a list-of-maps upstream output to its first element, 2 hands the whole list to formulas and item fan-out. Stamped when the builder saves a definition and frozen with the version.",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "integer"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "integer"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "integer"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "integer"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "integer"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "workflow-filter-description": {
        "additionalProperties": false,
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow-filter-group_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow-filter-is_active": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "boolean"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "boolean"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "boolean"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "boolean"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "boolean"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "boolean"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "workflow-filter-name": {
        "additionalProperties": false,
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow-filter-organization_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow-filter-published_at": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape."
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape."
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape."
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {},
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape."
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape."
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape."
          }
        },
        "type": "object"
      },
      "workflow-filter-schema_status": {
        "additionalProperties": false,
        "description": "Drift status of the data_schema vs. live sources: :none, :fresh, or :stale.",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "none",
              "fresh",
              "stale"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "none",
              "fresh",
              "stale"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "none",
              "fresh",
              "stale"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "none",
              "fresh",
              "stale"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "none",
              "fresh",
              "stale"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "none",
              "fresh",
              "stale"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow-filter-type": {
        "additionalProperties": false,
        "description": "Workflow type: :standard requires triggers, :subflow is invoked internally by parent workflows",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "standard",
              "subflow"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "standard",
              "subflow"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "standard",
              "subflow"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "standard",
              "subflow"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "standard",
              "subflow"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "standard",
              "subflow"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow-filter-version_number": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "integer"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "integer"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "integer"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "integer"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "integer"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "workflow_data_mapping": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for workflow data mappings.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a workflow_data_mapping",
            "properties": {
              "data_model_id": {
                "description": "Data model id returned by the public contract.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              },
              "formula": {
                "description": "Abacus formula, e.g. \"input.first_name + ' ' + input.last_name\". Field included by default.",
                "readOnly": true,
                "type": "string"
              },
              "source_path": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Optional JSONPath to extract initial data before formula evaluation. Field included by default.",
                "readOnly": true
              },
              "step_id": {
                "description": "Step id returned by the public contract.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              },
              "target_field_name": {
                "description": "The DataModelField name this mapping writes to. Field included by default.",
                "readOnly": true,
                "type": "string"
              }
            },
            "required": [
              "target_field_name",
              "formula",
              "step_id",
              "data_model_id"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a workflow_data_mapping",
            "properties": {
              "data_model": {
                "description": "Data model returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for data_model",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              },
              "step": {
                "description": "Step returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for step",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              }
            },
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "workflow_data_mapping-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/workflow_data_mapping-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "data_model": {
            "$ref": "#/components/schemas/data_model-filter",
            "description": "Filter by data model using the declared operator shape."
          },
          "data_model_id": {
            "$ref": "#/components/schemas/workflow_data_mapping-filter-data_model_id",
            "description": "Filter by data model id using the declared operator shape."
          },
          "formula": {
            "$ref": "#/components/schemas/workflow_data_mapping-filter-formula",
            "description": "Filter by formula using the declared operator shape."
          },
          "id": {
            "$ref": "#/components/schemas/workflow_data_mapping-filter-id",
            "description": "Stable resource identifier."
          },
          "not": {
            "$ref": "#/components/schemas/workflow_data_mapping-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/workflow_data_mapping-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "source_path": {
            "$ref": "#/components/schemas/workflow_data_mapping-filter-source_path",
            "description": "Filter by source path using the declared operator shape."
          },
          "step": {
            "$ref": "#/components/schemas/workflow_step-filter",
            "description": "Filter by step using the declared operator shape."
          },
          "step_id": {
            "$ref": "#/components/schemas/workflow_data_mapping-filter-step_id",
            "description": "Filter by step id using the declared operator shape."
          },
          "target_field_name": {
            "$ref": "#/components/schemas/workflow_data_mapping-filter-target_field_name",
            "description": "Filter by target field name using the declared operator shape."
          }
        },
        "type": "deepObject"
      },
      "workflow_data_mapping-filter-data_model_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_data_mapping-filter-formula": {
        "additionalProperties": false,
        "description": "Abacus formula, e.g. \"input.first_name + ' ' + input.last_name\"",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_data_mapping-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_data_mapping-filter-source_path": {
        "additionalProperties": false,
        "description": "Optional JSONPath to extract initial data before formula evaluation",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_data_mapping-filter-step_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_data_mapping-filter-target_field_name": {
        "additionalProperties": false,
        "description": "The DataModelField name this mapping writes to",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_run": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for workflow runs.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a workflow_run",
            "properties": {
              "completed_at": {
                "anyOf": [
                  {},
                  {
                    "type": "null"
                  }
                ],
                "description": "Timestamp when processing reached a terminal state.",
                "readOnly": true
              },
              "error_message": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Safe failure summary when processing did not complete.",
                "readOnly": true
              },
              "event_id": {
                "description": "The Event record (public schema) whose payload triggered this run. Field included by default.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              },
              "generation": {
                "description": "The executor token for this run. A transition or journal write carrying an older generation has been fenced by a reclaim. Field included by default.",
                "readOnly": true,
                "type": "integer"
              },
              "parent_run_id": {
                "anyOf": [
                  {
                    "format": "uuid",
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Parent run id returned by the public contract.",
                "readOnly": true
              },
              "parent_step_identifier": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "The subflow step of `parent_run` that is waiting for this run. Set together with parent_run_id, and only on a child run. Field included by default.",
                "readOnly": true
              },
              "snapshot_id": {
                "description": "Snapshot id returned by the public contract.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              },
              "started_at": {
                "anyOf": [
                  {},
                  {
                    "type": "null"
                  }
                ],
                "description": "Timestamp when processing started.",
                "readOnly": true
              },
              "state": {
                "description": "Current lifecycle or execution state.",
                "enum": [
                  "pending",
                  "running",
                  "completed",
                  "suspended",
                  "failed"
                ],
                "readOnly": true,
                "type": "string"
              },
              "suspend_reason": {
                "anyOf": [
                  {
                    "enum": [
                      "delay",
                      "yield",
                      "rate",
                      "manual",
                      "waiting_child"
                    ],
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Why the run released its slot to wait. Cleared when it resumes. Field included by default.",
                "readOnly": true
              },
              "workflow_id": {
                "description": "Workflow that owns or produced the resource.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              }
            },
            "required": [
              "event_id",
              "generation",
              "state",
              "workflow_id",
              "snapshot_id"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a workflow_run",
            "properties": {
              "child_runs": {
                "description": "Child runs returned by the public contract.",
                "properties": {
                  "data": {
                    "description": "Relationship data for child_runs",
                    "items": {
                      "additionalProperties": false,
                      "description": "Resource identifiers for child_runs",
                      "properties": {
                        "id": {
                          "description": "Stable resource identifier.",
                          "type": "string"
                        },
                        "meta": {
                          "additionalProperties": true,
                          "description": "Meta returned by the public contract.",
                          "type": "object"
                        },
                        "type": {
                          "description": "JSON:API resource type.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "uniqueItems": true
                  }
                }
              },
              "parent_run": {
                "description": "Parent run returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for parent_run",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              },
              "workflow": {
                "description": "Workflow returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for workflow",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              }
            },
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "workflow_run-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/workflow_run-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "child_runs": {
            "$ref": "#/components/schemas/workflow_run-filter",
            "description": "Filter by child runs using the declared operator shape."
          },
          "completed_at": {
            "$ref": "#/components/schemas/workflow_run-filter-completed_at",
            "description": "Timestamp when processing reached a terminal state."
          },
          "error_message": {
            "$ref": "#/components/schemas/workflow_run-filter-error_message",
            "description": "Safe failure summary when processing did not complete."
          },
          "event_id": {
            "$ref": "#/components/schemas/workflow_run-filter-event_id",
            "description": "Filter by event id using the declared operator shape."
          },
          "generation": {
            "$ref": "#/components/schemas/workflow_run-filter-generation",
            "description": "Filter by generation using the declared operator shape."
          },
          "id": {
            "$ref": "#/components/schemas/workflow_run-filter-id",
            "description": "Stable resource identifier."
          },
          "not": {
            "$ref": "#/components/schemas/workflow_run-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/workflow_run-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "parent_run": {
            "$ref": "#/components/schemas/workflow_run-filter",
            "description": "Filter by parent run using the declared operator shape."
          },
          "parent_run_id": {
            "$ref": "#/components/schemas/workflow_run-filter-parent_run_id",
            "description": "Filter by parent run id using the declared operator shape."
          },
          "parent_step_identifier": {
            "$ref": "#/components/schemas/workflow_run-filter-parent_step_identifier",
            "description": "Filter by parent step identifier using the declared operator shape."
          },
          "snapshot_id": {
            "$ref": "#/components/schemas/workflow_run-filter-snapshot_id",
            "description": "Filter by snapshot id using the declared operator shape."
          },
          "started_at": {
            "$ref": "#/components/schemas/workflow_run-filter-started_at",
            "description": "Timestamp when processing started."
          },
          "state": {
            "$ref": "#/components/schemas/workflow_run-filter-state",
            "description": "Current lifecycle or execution state."
          },
          "suspend_reason": {
            "$ref": "#/components/schemas/workflow_run-filter-suspend_reason",
            "description": "Filter by suspend reason using the declared operator shape."
          },
          "workflow": {
            "$ref": "#/components/schemas/workflow-filter",
            "description": "Filter by workflow using the declared operator shape."
          },
          "workflow_id": {
            "$ref": "#/components/schemas/workflow_run-filter-workflow_id",
            "description": "Workflow that owns or produced the resource."
          }
        },
        "type": "deepObject"
      },
      "workflow_run-filter-completed_at": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape."
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape."
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape."
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {},
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape."
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape."
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape."
          }
        },
        "type": "object"
      },
      "workflow_run-filter-error_message": {
        "additionalProperties": false,
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_run-filter-event_id": {
        "additionalProperties": false,
        "description": "The Event record (public schema) whose payload triggered this run",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_run-filter-generation": {
        "additionalProperties": false,
        "description": "The executor token for this run. A transition or journal write carrying an older generation has been fenced by a reclaim.",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "integer"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "integer"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "integer"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "integer"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "integer"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "workflow_run-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_run-filter-parent_run_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_run-filter-parent_step_identifier": {
        "additionalProperties": false,
        "description": "The subflow step of `parent_run` that is waiting for this run. Set together with parent_run_id, and only on a child run.",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_run-filter-snapshot_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_run-filter-started_at": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape."
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape."
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape."
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {},
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape."
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape."
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape."
          }
        },
        "type": "object"
      },
      "workflow_run-filter-state": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "pending",
              "running",
              "completed",
              "suspended",
              "failed"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "pending",
              "running",
              "completed",
              "suspended",
              "failed"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "pending",
              "running",
              "completed",
              "suspended",
              "failed"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "pending",
              "running",
              "completed",
              "suspended",
              "failed"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "pending",
              "running",
              "completed",
              "suspended",
              "failed"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "pending",
              "running",
              "completed",
              "suspended",
              "failed"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_run-filter-suspend_reason": {
        "additionalProperties": false,
        "description": "Why the run released its slot to wait. Cleared when it resumes.",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "delay",
              "yield",
              "rate",
              "manual",
              "waiting_child"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "delay",
              "yield",
              "rate",
              "manual",
              "waiting_child"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "delay",
              "yield",
              "rate",
              "manual",
              "waiting_child"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "delay",
              "yield",
              "rate",
              "manual",
              "waiting_child"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "delay",
              "yield",
              "rate",
              "manual",
              "waiting_child"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "delay",
              "yield",
              "rate",
              "manual",
              "waiting_child"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_run-filter-workflow_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_step": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for workflow steps.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a workflow_step",
            "properties": {
              "api_operation_ref": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "For :api_request steps, the bound operation's ref (operationId else \"METHOD path\") within the spec named by api_spec_id. Pairs with that FK as the first-class binding. Field included by default.",
                "readOnly": true
              },
              "api_spec_id": {
                "anyOf": [
                  {
                    "format": "uuid",
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Api spec id returned by the public contract.",
                "readOnly": true
              },
              "args": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "User-defined inputs passed to the Reactor step. Field included by default.",
                "readOnly": true
              },
              "compensation_config": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Compensation configuration: subflow_id for :subflow_reference, or inline step DAG for :inline_flow. Field included by default.",
                "readOnly": true
              },
              "compensation_type": {
                "anyOf": [
                  {
                    "enum": [
                      "none",
                      "subflow_reference",
                      "inline_flow"
                    ],
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Compensation strategy: :none, :subflow_reference (run another workflow), or :inline_flow (inline DAG). Field included by default.",
                "readOnly": true
              },
              "config": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Type-specific config: URL/headers for HTTP, expression for conditional, seconds for delay. Field included by default.",
                "readOnly": true
              },
              "external_connector_id": {
                "anyOf": [
                  {
                    "format": "uuid",
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Attached external connector identifier, when configured.",
                "readOnly": true
              },
              "identifier": {
                "description": "Unique machine-readable name used as namespace in formulas. Field included by default.",
                "readOnly": true,
                "type": "string"
              },
              "name": {
                "description": "Display name for the node. Field included by default.",
                "readOnly": true,
                "type": "string"
              },
              "order": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Execution order hint. Field included by default.",
                "readOnly": true
              },
              "position": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "React Flow canvas coordinates. Field included by default.",
                "readOnly": true
              },
              "trigger_connections": {
                "anyOf": [
                  {
                    "items": {
                      "format": "uuid",
                      "type": "string"
                    },
                    "nullable": true,
                    "type": "array"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Trigger UUIDs that visually connect to this step (canvas display only; not used by executor). Field included by default.",
                "readOnly": true
              },
              "type": {
                "description": "Determines step behavior in the Reactor. Field included by default.",
                "enum": [
                  "http_request",
                  "api_request",
                  "conditional",
                  "delay",
                  "harmonizer",
                  "filter_list",
                  "data_transform",
                  "subflow",
                  "kafka_produce",
                  "snowflake_query",
                  "snowflake_write",
                  "s3_read",
                  "s3_write"
                ],
                "readOnly": true,
                "type": "string"
              },
              "wait_for": {
                "anyOf": [
                  {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "id": {
                          "description": "Parent step ID this dependency points to. Field included by default.",
                          "format": "uuid",
                          "type": "string"
                        },
                        "type": {
                          "description": "Edge variant: :normal, :on_error, or :compensate. Field included by default.",
                          "enum": [
                            "normal",
                            "on_error",
                            "compensate"
                          ],
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "type"
                      ],
                      "type": "object"
                    },
                    "nullable": true,
                    "type": "array"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Typed parent dependencies. Each entry %{id, type: :normal | :on_error | :compensate}. :normal entries map to Reactor `after:`; :on_error and :compensate carry edge variants. Field included by default.",
                "readOnly": true
              },
              "workflow_id": {
                "description": "Workflow that owns or produced the resource.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              }
            },
            "required": [
              "name",
              "identifier",
              "type",
              "workflow_id"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a workflow_step",
            "properties": {
              "api_spec": {
                "description": "Api spec returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for api_spec",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              },
              "data_mappings": {
                "description": "Data mappings returned by the public contract.",
                "properties": {
                  "data": {
                    "description": "Relationship data for data_mappings",
                    "items": {
                      "additionalProperties": false,
                      "description": "Resource identifiers for data_mappings",
                      "properties": {
                        "id": {
                          "description": "Stable resource identifier.",
                          "type": "string"
                        },
                        "meta": {
                          "additionalProperties": true,
                          "description": "Meta returned by the public contract.",
                          "type": "object"
                        },
                        "type": {
                          "description": "JSON:API resource type.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "uniqueItems": true
                  }
                }
              },
              "external_connector": {
                "description": "External connector returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for external_connector",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              },
              "workflow": {
                "description": "Workflow returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for workflow",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              }
            },
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "workflow_step-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/workflow_step-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "api_operation_ref": {
            "$ref": "#/components/schemas/workflow_step-filter-api_operation_ref",
            "description": "Filter by api operation ref using the declared operator shape."
          },
          "api_spec": {
            "$ref": "#/components/schemas/api_spec-filter",
            "description": "Filter by api spec using the declared operator shape."
          },
          "api_spec_id": {
            "$ref": "#/components/schemas/workflow_step-filter-api_spec_id",
            "description": "Filter by api spec id using the declared operator shape."
          },
          "args": {
            "$ref": "#/components/schemas/workflow_step-filter-args",
            "description": "Filter by args using the declared operator shape."
          },
          "compensation_config": {
            "$ref": "#/components/schemas/workflow_step-filter-compensation_config",
            "description": "Filter by compensation config using the declared operator shape."
          },
          "compensation_type": {
            "$ref": "#/components/schemas/workflow_step-filter-compensation_type",
            "description": "Filter by compensation type using the declared operator shape."
          },
          "config": {
            "$ref": "#/components/schemas/workflow_step-filter-config",
            "description": "Filter by config using the declared operator shape."
          },
          "data_mappings": {
            "$ref": "#/components/schemas/workflow_data_mapping-filter",
            "description": "Filter by data mappings using the declared operator shape."
          },
          "external_connector": {
            "$ref": "#/components/schemas/external_connector-filter",
            "description": "Filter by external connector using the declared operator shape."
          },
          "external_connector_id": {
            "$ref": "#/components/schemas/workflow_step-filter-external_connector_id",
            "description": "Attached external connector identifier, when configured."
          },
          "id": {
            "$ref": "#/components/schemas/workflow_step-filter-id",
            "description": "Stable resource identifier."
          },
          "identifier": {
            "$ref": "#/components/schemas/workflow_step-filter-identifier",
            "description": "Filter by identifier using the declared operator shape."
          },
          "name": {
            "$ref": "#/components/schemas/workflow_step-filter-name",
            "description": "Human-readable resource name."
          },
          "not": {
            "$ref": "#/components/schemas/workflow_step-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/workflow_step-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "order": {
            "$ref": "#/components/schemas/workflow_step-filter-order",
            "description": "Filter by order using the declared operator shape."
          },
          "position": {
            "$ref": "#/components/schemas/workflow_step-filter-position",
            "description": "Filter by position using the declared operator shape."
          },
          "type": {
            "$ref": "#/components/schemas/workflow_step-filter-type",
            "description": "JSON:API resource type."
          },
          "workflow": {
            "$ref": "#/components/schemas/workflow-filter",
            "description": "Filter by workflow using the declared operator shape."
          },
          "workflow_id": {
            "$ref": "#/components/schemas/workflow_step-filter-workflow_id",
            "description": "Workflow that owns or produced the resource."
          }
        },
        "type": "deepObject"
      },
      "workflow_step-filter-api_operation_ref": {
        "additionalProperties": false,
        "description": "For :api_request steps, the bound operation's ref (operationId else \"METHOD path\") within the spec named by api_spec_id. Pairs with that FK as the first-class binding.",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_step-filter-api_spec_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_step-filter-args": {
        "additionalProperties": false,
        "description": "User-defined inputs passed to the Reactor step",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "object"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "object"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "object"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "object"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "object"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "workflow_step-filter-compensation_config": {
        "additionalProperties": false,
        "description": "Compensation configuration: subflow_id for :subflow_reference, or inline step DAG for :inline_flow",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "object"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "object"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "object"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "object"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "object"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "workflow_step-filter-compensation_type": {
        "additionalProperties": false,
        "description": "Compensation strategy: :none, :subflow_reference (run another workflow), or :inline_flow (inline DAG)",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "none",
              "subflow_reference",
              "inline_flow"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "none",
              "subflow_reference",
              "inline_flow"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "none",
              "subflow_reference",
              "inline_flow"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "none",
              "subflow_reference",
              "inline_flow"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "none",
              "subflow_reference",
              "inline_flow"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "none",
              "subflow_reference",
              "inline_flow"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_step-filter-config": {
        "additionalProperties": false,
        "description": "Type-specific config: URL/headers for HTTP, expression for conditional, seconds for delay",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "object"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "object"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "object"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "object"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "object"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "workflow_step-filter-external_connector_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_step-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_step-filter-identifier": {
        "additionalProperties": false,
        "description": "Unique machine-readable name used as namespace in formulas",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_step-filter-name": {
        "additionalProperties": false,
        "description": "Display name for the node",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_step-filter-order": {
        "additionalProperties": false,
        "description": "Execution order hint",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "integer"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "integer"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "integer"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "integer"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "integer"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "workflow_step-filter-position": {
        "additionalProperties": false,
        "description": "React Flow canvas coordinates",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "object"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "object"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "object"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "object"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "object"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "workflow_step-filter-type": {
        "additionalProperties": false,
        "description": "Determines step behavior in the Reactor",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "http_request",
              "api_request",
              "conditional",
              "delay",
              "harmonizer",
              "filter_list",
              "data_transform",
              "subflow",
              "kafka_produce",
              "snowflake_query",
              "snowflake_write",
              "s3_read",
              "s3_write"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "http_request",
              "api_request",
              "conditional",
              "delay",
              "harmonizer",
              "filter_list",
              "data_transform",
              "subflow",
              "kafka_produce",
              "snowflake_query",
              "snowflake_write",
              "s3_read",
              "s3_write"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "http_request",
              "api_request",
              "conditional",
              "delay",
              "harmonizer",
              "filter_list",
              "data_transform",
              "subflow",
              "kafka_produce",
              "snowflake_query",
              "snowflake_write",
              "s3_read",
              "s3_write"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "http_request",
              "api_request",
              "conditional",
              "delay",
              "harmonizer",
              "filter_list",
              "data_transform",
              "subflow",
              "kafka_produce",
              "snowflake_query",
              "snowflake_write",
              "s3_read",
              "s3_write"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "http_request",
              "api_request",
              "conditional",
              "delay",
              "harmonizer",
              "filter_list",
              "data_transform",
              "subflow",
              "kafka_produce",
              "snowflake_query",
              "snowflake_write",
              "s3_read",
              "s3_write"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "http_request",
              "api_request",
              "conditional",
              "delay",
              "harmonizer",
              "filter_list",
              "data_transform",
              "subflow",
              "kafka_produce",
              "snowflake_query",
              "snowflake_write",
              "s3_read",
              "s3_write"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_step-filter-workflow_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_trigger": {
        "additionalProperties": false,
        "description": "Public JSON:API resource object for workflow triggers.",
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "description": "An attributes object for a workflow_trigger",
            "properties": {
              "credential_id": {
                "anyOf": [
                  {
                    "format": "uuid",
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Service account selected for this operation or trigger.",
                "readOnly": true
              },
              "external_connector_id": {
                "anyOf": [
                  {
                    "format": "uuid",
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Attached external connector identifier, when configured.",
                "readOnly": true
              },
              "name": {
                "description": "Human-readable resource name.",
                "readOnly": true,
                "type": "string"
              },
              "observed_at_path": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Dot-notation path to a timestamp field in the payload (e.g. \"data.updated_at\"). Used as observed_at on the Event. Defaults to now if nil or not found. Field included by default.",
                "readOnly": true
              },
              "organization_id": {
                "description": "Organization that owns the resource.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              },
              "trigger_config": {
                "anyOf": [
                  {
                    "nullable": true,
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Type-specific config. scheduled → schedule_interval; kafka → key_filter (topic/consumer_group live on the connector); cdc → tables/operations/schema_filter. Field included by default.",
                "readOnly": true
              },
              "type": {
                "description": "JSON:API resource type.",
                "enum": [
                  "webhook",
                  "scheduled",
                  "kafka",
                  "cdc"
                ],
                "readOnly": true,
                "type": "string"
              },
              "workflow_id": {
                "description": "Workflow that owns or produced the resource.",
                "format": "uuid",
                "readOnly": true,
                "type": "string"
              }
            },
            "required": [
              "name",
              "type",
              "workflow_id",
              "organization_id"
            ],
            "type": "object"
          },
          "id": {
            "description": "Stable resource identifier.",
            "type": "string"
          },
          "relationships": {
            "additionalProperties": false,
            "description": "A relationships object for a workflow_trigger",
            "properties": {
              "credential": {
                "description": "Credential returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for credential",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              },
              "external_connector": {
                "description": "External connector returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for external_connector",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              },
              "organization": {
                "description": "Organization returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for organization",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              },
              "workflow": {
                "description": "Workflow returned by the public contract.",
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "An identifier for workflow",
                    "nullable": true,
                    "properties": {
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "meta": {
                        "additionalProperties": true,
                        "description": "Meta returned by the public contract.",
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                }
              }
            },
            "type": "object"
          },
          "type": {
            "description": "JSON:API resource type.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "workflow_trigger-filter": {
        "additionalProperties": false,
        "description": "Filters the query to results matching the given filter object",
        "example": "",
        "properties": {
          "and": {
            "description": "Filter by and using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/workflow_trigger-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "credential": {
            "$ref": "#/components/schemas/credential-filter",
            "description": "Filter by credential using the declared operator shape."
          },
          "credential_id": {
            "$ref": "#/components/schemas/workflow_trigger-filter-credential_id",
            "description": "Service account selected for this operation or trigger."
          },
          "external_connector": {
            "$ref": "#/components/schemas/external_connector-filter",
            "description": "Filter by external connector using the declared operator shape."
          },
          "external_connector_id": {
            "$ref": "#/components/schemas/workflow_trigger-filter-external_connector_id",
            "description": "Attached external connector identifier, when configured."
          },
          "id": {
            "$ref": "#/components/schemas/workflow_trigger-filter-id",
            "description": "Stable resource identifier."
          },
          "name": {
            "$ref": "#/components/schemas/workflow_trigger-filter-name",
            "description": "Human-readable resource name."
          },
          "not": {
            "$ref": "#/components/schemas/workflow_trigger-filter",
            "description": "Filter by not using the declared operator shape."
          },
          "observed_at_path": {
            "$ref": "#/components/schemas/workflow_trigger-filter-observed_at_path",
            "description": "Dot-notation payload path used to derive the business timestamp."
          },
          "or": {
            "description": "Filter by or using the declared operator shape.",
            "items": {
              "$ref": "#/components/schemas/workflow_trigger-filter"
            },
            "type": "array",
            "uniqueItems": true
          },
          "organization": {
            "$ref": "#/components/schemas/organization-filter",
            "description": "Filter by organization using the declared operator shape."
          },
          "organization_id": {
            "$ref": "#/components/schemas/workflow_trigger-filter-organization_id",
            "description": "Organization that owns the resource."
          },
          "trigger_config": {
            "$ref": "#/components/schemas/workflow_trigger-filter-trigger_config",
            "description": "Type-specific webhook, schedule, Kafka, or CDC trigger configuration."
          },
          "type": {
            "$ref": "#/components/schemas/workflow_trigger-filter-type",
            "description": "JSON:API resource type."
          },
          "workflow": {
            "$ref": "#/components/schemas/workflow-filter",
            "description": "Filter by workflow using the declared operator shape."
          },
          "workflow_id": {
            "$ref": "#/components/schemas/workflow_trigger-filter-workflow_id",
            "description": "Workflow that owns or produced the resource."
          }
        },
        "type": "deepObject"
      },
      "workflow_trigger-filter-credential_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_trigger-filter-external_connector_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_trigger-filter-id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_trigger-filter-name": {
        "additionalProperties": false,
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_trigger-filter-observed_at_path": {
        "additionalProperties": false,
        "description": "Dot-notation path to a timestamp field in the payload (e.g. \"data.updated_at\"). Used as observed_at on the Event. Defaults to now if nil or not found.",
        "properties": {
          "contains": {
            "description": "Filter by contains using the declared operator shape.",
            "type": "string"
          },
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "string"
          },
          "ilike": {
            "description": "Filter by ilike using the declared operator shape.",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "string"
          },
          "like": {
            "description": "Filter by like using the declared operator shape.",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_trigger-filter-organization_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_trigger-filter-trigger_config": {
        "additionalProperties": false,
        "description": "Type-specific config. scheduled → schedule_interval; kafka → key_filter (topic/consumer_group live on the connector); cdc → tables/operations/schema_filter",
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "type": "object"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "type": "object"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "type": "object"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "type": "object"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "type": "object"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "workflow_trigger-filter-type": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "enum": [
              "webhook",
              "scheduled",
              "kafka",
              "cdc"
            ],
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "enum": [
              "webhook",
              "scheduled",
              "kafka",
              "cdc"
            ],
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "enum": [
              "webhook",
              "scheduled",
              "kafka",
              "cdc"
            ],
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "enum": [
              "webhook",
              "scheduled",
              "kafka",
              "cdc"
            ],
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "enum": [
              "webhook",
              "scheduled",
              "kafka",
              "cdc"
            ],
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "enum": [
              "webhook",
              "scheduled",
              "kafka",
              "cdc"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "workflow_trigger-filter-workflow_id": {
        "additionalProperties": false,
        "properties": {
          "eq": {
            "description": "Filter by eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than": {
            "description": "Filter by greater than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "greater_than_or_equal": {
            "description": "Filter by greater than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "in": {
            "description": "Filter by in using the declared operator shape.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "is_distinct_from": {
            "description": "Filter by is distinct from using the declared operator shape.",
            "type": "string"
          },
          "is_nil": {
            "description": "Filter by is nil using the declared operator shape.",
            "type": "boolean"
          },
          "is_not_distinct_from": {
            "description": "Filter by is not distinct from using the declared operator shape.",
            "type": "string"
          },
          "less_than": {
            "description": "Filter by less than using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "less_than_or_equal": {
            "description": "Filter by less than or equal using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          },
          "not_eq": {
            "description": "Filter by not eq using the declared operator shape.",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "bearerFormat": "JWT",
        "description": "JWT for bearer authentication",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "description": "Hodoflow generated HTTP API.\n\nAuth: OAuth2 client-credentials → short-lived credential JWT, sent as\n`Authorization: Bearer <token>`. The credential is re-loaded and re-validated\nfrom the database on every request (revocation-safe).\n\nScopes: `api_read` (safe methods and GraphQL `factQuery`) and `api_write`\n(unsafe JSON:API methods) are enforced per request. Signed organization and\ntenant claims locate the credential's tenant schema; the credential, run-as\nmembership, scopes, and workspace are then reloaded and revalidated before\nauthorization. Client-supplied tenant parameters are ignored.\n\nRate limiting: per-credential fixed window; `429` + `Retry-After` on breach.\nIdempotency: send `Idempotency-Key` on unsafe writes to make retries safe.\nPagination: support and defaults are declared per operation. Always send an\nexplicit `page[limit]` on collections that accept pagination.\nErrors: JSON:API `{\"errors\":[{code,status,detail,meta:{correlation_id}}]}`.\nRedactions: secrets, hashes, tokens, and share tokens are never serialized.\n",
    "title": "Hodoflow API",
    "version": "v1"
  },
  "openapi": "3.0.0",
  "paths": {
    "/api/json/v1/api_specs": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List aPI specifications visible to the authenticated service account.",
        "operationId": "listApiSpecifications",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/api_spec-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|raw_document|-raw_document|\\+\\+raw_document|--raw_document|format|-format|\\+\\+format|--format|openapi_version|-openapi_version|\\+\\+openapi_version|--openapi_version|title|-title|\\+\\+title|--title|version|-version|\\+\\+version|--version|security_schemes|-security_schemes|\\+\\+security_schemes|--security_schemes|organization_id|-organization_id|\\+\\+organization_id|--organization_id|external_connector_id|-external_connector_id|\\+\\+external_connector_id|--external_connector_id)(,(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|raw_document|-raw_document|\\+\\+raw_document|--raw_document|format|-format|\\+\\+format|--format|openapi_version|-openapi_version|\\+\\+openapi_version|--openapi_version|title|-title|\\+\\+title|--title|version|-version|\\+\\+version|--version|security_schemes|-security_schemes|\\+\\+security_schemes|--security_schemes|organization_id|-organization_id|\\+\\+organization_id|--organization_id|external_connector_id|-external_connector_id|\\+\\+external_connector_id|--external_connector_id))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "api_spec": "name,format,openapi_version,title,version,servers,security_schemes,external_connector_id"
              },
              "properties": {
                "api_spec": {
                  "description": "Comma separated field names for api_spec",
                  "example": "name,format,openapi_version,title,version,servers,security_schemes,external_connector_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/api_specs"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a api_spec",
                      "items": {
                        "$ref": "#/components/schemas/api_spec"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List aPI specifications",
        "tags": [
          "Integrations"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api"
          ],
          "resource": "api_spec",
          "resourceGroup": "integrations",
          "resourceGroupLabel": "Integrations",
          "resourceLabel": "API specification",
          "resourcePlural": "API specifications",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      },
      "post": {
        "callbacks": {},
        "deprecated": false,
        "description": "Create a new aPI specification in the service account's workspace.",
        "operationId": "createApiSpecification",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "api_spec": "name,format,openapi_version,title,version,servers,security_schemes,external_connector_id"
              },
              "properties": {
                "api_spec": {
                  "description": "Comma separated field names for api_spec",
                  "example": "name,format,openapi_version,title,version,servers,security_schemes,external_connector_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409.",
            "example": "workflow-save-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "Primary request or response document data.",
                    "properties": {
                      "attributes": {
                        "additionalProperties": false,
                        "description": "Public resource attributes.",
                        "properties": {
                          "external_connector_id": {
                            "anyOf": [
                              {
                                "format": "uuid",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Attached external connector identifier, when configured."
                          },
                          "name": {
                            "description": "Human label for the imported spec, e.g. 'Stripe API'.",
                            "type": "string"
                          },
                          "organization_id": {
                            "anyOf": [
                              {
                                "format": "uuid",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Organization that owns the resource."
                          },
                          "raw_document": {
                            "description": "The raw OpenAPI/Swagger document text to parse.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "name",
                          "raw_document"
                        ],
                        "type": "object"
                      },
                      "relationships": {
                        "additionalProperties": false,
                        "description": "JSON:API relationship linkage.",
                        "properties": {},
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "enum": [
                          "api_spec"
                        ]
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            }
          },
          "description": "Request body for the /api_specs operation on api_spec resource",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "api_spec"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/api_spec"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "409": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "idempotency_key_reused",
                      "detail": "The key was previously used for a different request.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "409"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The key was previously used for a different request."
          },
          "422": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "invalid_request",
                      "detail": "The request document failed resource validation.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "422"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request document failed resource validation."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create a aPI specification",
        "tags": [
          "Integrations"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "idempotency_key_reused",
              "description": "The key was previously used for a different request.",
              "retryable": false,
              "status": 409
            },
            {
              "code": "invalid_request",
              "description": "The request document failed resource validation.",
              "retryable": false,
              "status": 422
            }
          ],
          "idempotency": "supported",
          "relatedGuides": [
            "platform/json-api",
            "guides/idempotent-write"
          ],
          "resource": "api_spec",
          "resourceGroup": "integrations",
          "resourceGroupLabel": "Integrations",
          "resourceLabel": "API specification",
          "resourcePlural": "API specifications",
          "scope": "api_write",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/api_specs/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one aPI specification visible to the authenticated service account.",
        "operationId": "retrieveApiSpecification",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "api_spec": "name,format,openapi_version,title,version,servers,security_schemes,external_connector_id"
              },
              "properties": {
                "api_spec": {
                  "description": "Comma separated field names for api_spec",
                  "example": "name,format,openapi_version,title,version,servers,security_schemes,external_connector_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "api_spec"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/api_spec"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a aPI specification",
        "tags": [
          "Integrations"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api"
          ],
          "resource": "api_spec",
          "resourceGroup": "integrations",
          "resourceGroupLabel": "Integrations",
          "resourceLabel": "API specification",
          "resourcePlural": "API specifications",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      },
      "patch": {
        "callbacks": {},
        "deprecated": false,
        "description": "Update the supported fields of one aPI specification.",
        "operationId": "updateApiSpecification",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "api_spec": "name,format,openapi_version,title,version,servers,security_schemes,external_connector_id"
              },
              "properties": {
                "api_spec": {
                  "description": "Comma separated field names for api_spec",
                  "example": "name,format,openapi_version,title,version,servers,security_schemes,external_connector_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409.",
            "example": "workflow-save-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "Primary request or response document data.",
                    "properties": {
                      "attributes": {
                        "additionalProperties": false,
                        "description": "Public resource attributes.",
                        "properties": {
                          "external_connector_id": {
                            "anyOf": [
                              {
                                "format": "uuid",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Attached external connector identifier, when configured."
                          },
                          "name": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Human label for the imported spec, e.g. 'Stripe API'."
                          },
                          "raw_document": {
                            "description": "The raw OpenAPI/Swagger document text to re-parse.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "raw_document"
                        ],
                        "type": "object"
                      },
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "relationships": {
                        "additionalProperties": false,
                        "description": "JSON:API relationship linkage.",
                        "properties": {},
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "enum": [
                          "api_spec"
                        ]
                      }
                    },
                    "required": [
                      "id"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            }
          },
          "description": "Request body for the /api_specs/:id operation on api_spec resource",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "api_spec"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/api_spec"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "409": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "idempotency_key_reused",
                      "detail": "The key was previously used for a different request.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "409"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The key was previously used for a different request."
          },
          "422": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "invalid_request",
                      "detail": "The request document failed resource validation.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "422"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request document failed resource validation."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update a aPI specification",
        "tags": [
          "Integrations"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            },
            {
              "code": "idempotency_key_reused",
              "description": "The key was previously used for a different request.",
              "retryable": false,
              "status": 409
            },
            {
              "code": "invalid_request",
              "description": "The request document failed resource validation.",
              "retryable": false,
              "status": 422
            }
          ],
          "idempotency": "supported",
          "relatedGuides": [
            "platform/json-api",
            "guides/idempotent-write"
          ],
          "resource": "api_spec",
          "resourceGroup": "integrations",
          "resourceGroupLabel": "Integrations",
          "resourceLabel": "API specification",
          "resourcePlural": "API specifications",
          "scope": "api_write",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/credentials": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List service accounts visible to the authenticated service account.",
        "operationId": "listServiceAccounts",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/credential-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|client_id|-client_id|\\+\\+client_id|--client_id|is_active|-is_active|\\+\\+is_active|--is_active)(,(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|client_id|-client_id|\\+\\+client_id|--client_id|is_active|-is_active|\\+\\+is_active|--is_active))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "credential": "id,name,client_id,scopes,is_active"
              },
              "properties": {
                "credential": {
                  "description": "Comma separated field names for credential",
                  "example": "id,name,client_id,scopes,is_active",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/credentials"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a credential",
                      "items": {
                        "$ref": "#/components/schemas/credential"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List service accounts",
        "tags": [
          "Account and organization"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "authentication/scopes-and-permissions"
          ],
          "resource": "credential",
          "resourceGroup": "account-organization",
          "resourceGroupLabel": "Account and organization",
          "resourceLabel": "Service account",
          "resourcePlural": "Service accounts",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/credentials/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one service account visible to the authenticated service account.",
        "operationId": "retrieveServiceAccount",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "credential": "id,name,client_id,scopes,is_active"
              },
              "properties": {
                "credential": {
                  "description": "Comma separated field names for credential",
                  "example": "id,name,client_id,scopes,is_active",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "credential"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/credential"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a service account",
        "tags": [
          "Account and organization"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "authentication/scopes-and-permissions"
          ],
          "resource": "credential",
          "resourceGroup": "account-organization",
          "resourceGroupLabel": "Account and organization",
          "resourceLabel": "Service account",
          "resourcePlural": "Service accounts",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/dashboard_widgets": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List widget placements visible to the authenticated service account.",
        "operationId": "listWidgetPlacements",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/dashboard_widget-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|position|-position|\\+\\+position|--position|dashboard_id|-dashboard_id|\\+\\+dashboard_id|--dashboard_id|widget_id|-widget_id|\\+\\+widget_id|--widget_id)(,(id|-id|\\+\\+id|--id|position|-position|\\+\\+position|--position|dashboard_id|-dashboard_id|\\+\\+dashboard_id|--dashboard_id|widget_id|-widget_id|\\+\\+widget_id|--widget_id))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "dashboard_widget": "id,position,dashboard_id,widget_id"
              },
              "properties": {
                "dashboard_widget": {
                  "description": "Comma separated field names for dashboard_widget",
                  "example": "id,position,dashboard_id,widget_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/dashboard_widgets"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a dashboard_widget",
                      "items": {
                        "$ref": "#/components/schemas/dashboard_widget"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List widget placements",
        "tags": [
          "Dashboards"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api"
          ],
          "resource": "dashboard_widget",
          "resourceGroup": "dashboards",
          "resourceGroupLabel": "Dashboards",
          "resourceLabel": "Widget placement",
          "resourcePlural": "Widget placements",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/dashboard_widgets/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one widget placement visible to the authenticated service account.",
        "operationId": "retrieveWidgetPlacement",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "dashboard_widget": "id,position,dashboard_id,widget_id"
              },
              "properties": {
                "dashboard_widget": {
                  "description": "Comma separated field names for dashboard_widget",
                  "example": "id,position,dashboard_id,widget_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "dashboard_widget"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/dashboard_widget"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a widget placement",
        "tags": [
          "Dashboards"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api"
          ],
          "resource": "dashboard_widget",
          "resourceGroup": "dashboards",
          "resourceGroupLabel": "Dashboards",
          "resourceLabel": "Widget placement",
          "resourcePlural": "Widget placements",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      },
      "patch": {
        "callbacks": {},
        "deprecated": false,
        "description": "Update the supported fields of one widget placement.",
        "operationId": "updateWidgetPlacement",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "dashboard_widget": "id,position,dashboard_id,widget_id"
              },
              "properties": {
                "dashboard_widget": {
                  "description": "Comma separated field names for dashboard_widget",
                  "example": "id,position,dashboard_id,widget_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409.",
            "example": "workflow-save-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "Primary request or response document data.",
                    "properties": {
                      "attributes": {
                        "additionalProperties": false,
                        "description": "Public resource attributes.",
                        "properties": {
                          "position": {
                            "anyOf": [
                              {
                                "type": "object"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Grid position and size: {x, y, w, h}"
                          }
                        },
                        "type": "object"
                      },
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "relationships": {
                        "additionalProperties": false,
                        "description": "JSON:API relationship linkage.",
                        "properties": {},
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "enum": [
                          "dashboard_widget"
                        ]
                      }
                    },
                    "required": [
                      "id"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            }
          },
          "description": "Request body for the /dashboard_widgets/:id operation on dashboard_widget resource",
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "dashboard_widget"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/dashboard_widget"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "409": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "idempotency_key_reused",
                      "detail": "The key was previously used for a different request.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "409"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The key was previously used for a different request."
          },
          "422": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "invalid_request",
                      "detail": "The request document failed resource validation.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "422"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request document failed resource validation."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update a widget placement",
        "tags": [
          "Dashboards"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            },
            {
              "code": "idempotency_key_reused",
              "description": "The key was previously used for a different request.",
              "retryable": false,
              "status": 409
            },
            {
              "code": "invalid_request",
              "description": "The request document failed resource validation.",
              "retryable": false,
              "status": 422
            }
          ],
          "idempotency": "supported",
          "relatedGuides": [
            "platform/json-api",
            "guides/idempotent-write"
          ],
          "resource": "dashboard_widget",
          "resourceGroup": "dashboards",
          "resourceGroupLabel": "Dashboards",
          "resourceLabel": "Widget placement",
          "resourcePlural": "Widget placements",
          "scope": "api_write",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/dashboards": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List dashboards visible to the authenticated service account.",
        "operationId": "listDashboards",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/dashboard-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|description|-description|\\+\\+description|--description|is_public|-is_public|\\+\\+is_public|--is_public|organization_id|-organization_id|\\+\\+organization_id|--organization_id|created_by_id|-created_by_id|\\+\\+created_by_id|--created_by_id)(,(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|description|-description|\\+\\+description|--description|is_public|-is_public|\\+\\+is_public|--is_public|organization_id|-organization_id|\\+\\+organization_id|--organization_id|created_by_id|-created_by_id|\\+\\+created_by_id|--created_by_id))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "dashboard": "id,name,description,is_public,filters,organization_id,created_by_id"
              },
              "properties": {
                "dashboard": {
                  "description": "Comma separated field names for dashboard",
                  "example": "id,name,description,is_public,filters,organization_id,created_by_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/dashboards"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a dashboard",
                      "items": {
                        "$ref": "#/components/schemas/dashboard"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List dashboards",
        "tags": [
          "Dashboards"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api"
          ],
          "resource": "dashboard",
          "resourceGroup": "dashboards",
          "resourceGroupLabel": "Dashboards",
          "resourceLabel": "Dashboard",
          "resourcePlural": "Dashboards",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      },
      "post": {
        "callbacks": {},
        "deprecated": false,
        "description": "Create a new dashboard in the service account's workspace.",
        "operationId": "createDashboard",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "dashboard": "id,name,description,is_public,filters,organization_id,created_by_id"
              },
              "properties": {
                "dashboard": {
                  "description": "Comma separated field names for dashboard",
                  "example": "id,name,description,is_public,filters,organization_id,created_by_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409.",
            "example": "workflow-save-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "Primary request or response document data.",
                    "properties": {
                      "attributes": {
                        "additionalProperties": false,
                        "description": "Public resource attributes.",
                        "properties": {
                          "created_by_id": {
                            "anyOf": [
                              {
                                "format": "uuid",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Created by id accepted by this operation."
                          },
                          "description": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Human-readable description."
                          },
                          "filters": {
                            "anyOf": [
                              {
                                "$ref": "#/components/schemas/dashboard_filters-input-create-type"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Author-baseline filter set applied to all widgets on this dashboard; merged with widget filters and runtime overlays."
                          },
                          "name": {
                            "description": "Human-readable resource name.",
                            "type": "string"
                          },
                          "organization_id": {
                            "anyOf": [
                              {
                                "format": "uuid",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Organization that owns the resource."
                          }
                        },
                        "required": [
                          "name"
                        ],
                        "type": "object"
                      },
                      "relationships": {
                        "additionalProperties": false,
                        "description": "JSON:API relationship linkage.",
                        "properties": {},
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "enum": [
                          "dashboard"
                        ]
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            }
          },
          "description": "Request body for the /dashboards operation on dashboard resource",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "dashboard"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/dashboard"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "409": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "idempotency_key_reused",
                      "detail": "The key was previously used for a different request.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "409"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The key was previously used for a different request."
          },
          "422": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "invalid_request",
                      "detail": "The request document failed resource validation.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "422"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request document failed resource validation."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create a dashboard",
        "tags": [
          "Dashboards"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "idempotency_key_reused",
              "description": "The key was previously used for a different request.",
              "retryable": false,
              "status": 409
            },
            {
              "code": "invalid_request",
              "description": "The request document failed resource validation.",
              "retryable": false,
              "status": 422
            }
          ],
          "idempotency": "supported",
          "relatedGuides": [
            "platform/json-api",
            "guides/idempotent-write"
          ],
          "resource": "dashboard",
          "resourceGroup": "dashboards",
          "resourceGroupLabel": "Dashboards",
          "resourceLabel": "Dashboard",
          "resourcePlural": "Dashboards",
          "scope": "api_write",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/dashboards/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one dashboard visible to the authenticated service account.",
        "operationId": "retrieveDashboard",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "dashboard": "id,name,description,is_public,filters,organization_id,created_by_id"
              },
              "properties": {
                "dashboard": {
                  "description": "Comma separated field names for dashboard",
                  "example": "id,name,description,is_public,filters,organization_id,created_by_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "dashboard"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/dashboard"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a dashboard",
        "tags": [
          "Dashboards"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api"
          ],
          "resource": "dashboard",
          "resourceGroup": "dashboards",
          "resourceGroupLabel": "Dashboards",
          "resourceLabel": "Dashboard",
          "resourcePlural": "Dashboards",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      },
      "patch": {
        "callbacks": {},
        "deprecated": false,
        "description": "Update the supported fields of one dashboard.",
        "operationId": "updateDashboard",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "dashboard": "id,name,description,is_public,filters,organization_id,created_by_id"
              },
              "properties": {
                "dashboard": {
                  "description": "Comma separated field names for dashboard",
                  "example": "id,name,description,is_public,filters,organization_id,created_by_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409.",
            "example": "workflow-save-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "Primary request or response document data.",
                    "properties": {
                      "attributes": {
                        "additionalProperties": false,
                        "description": "Public resource attributes.",
                        "properties": {
                          "description": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Human-readable description."
                          },
                          "filters": {
                            "anyOf": [
                              {
                                "$ref": "#/components/schemas/dashboard_filters-input-update-type"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Author-baseline filter set applied to all widgets on this dashboard; merged with widget filters and runtime overlays."
                          },
                          "name": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Human-readable resource name."
                          }
                        },
                        "type": "object"
                      },
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "relationships": {
                        "additionalProperties": false,
                        "description": "JSON:API relationship linkage.",
                        "properties": {},
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "enum": [
                          "dashboard"
                        ]
                      }
                    },
                    "required": [
                      "id"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            }
          },
          "description": "Request body for the /dashboards/:id operation on dashboard resource",
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "dashboard"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/dashboard"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "409": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "idempotency_key_reused",
                      "detail": "The key was previously used for a different request.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "409"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The key was previously used for a different request."
          },
          "422": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "invalid_request",
                      "detail": "The request document failed resource validation.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "422"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request document failed resource validation."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update a dashboard",
        "tags": [
          "Dashboards"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            },
            {
              "code": "idempotency_key_reused",
              "description": "The key was previously used for a different request.",
              "retryable": false,
              "status": 409
            },
            {
              "code": "invalid_request",
              "description": "The request document failed resource validation.",
              "retryable": false,
              "status": 422
            }
          ],
          "idempotency": "supported",
          "relatedGuides": [
            "platform/json-api",
            "guides/idempotent-write"
          ],
          "resource": "dashboard",
          "resourceGroup": "dashboards",
          "resourceGroupLabel": "Dashboards",
          "resourceLabel": "Dashboard",
          "resourcePlural": "Dashboards",
          "scope": "api_write",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/data_model_fields": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List data model fields visible to the authenticated service account.",
        "operationId": "listDataModelFields",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/data_model_field-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|type|-type|\\+\\+type|--type|is_required|-is_required|\\+\\+is_required|--is_required|is_primary_key|-is_primary_key|\\+\\+is_primary_key|--is_primary_key|description|-description|\\+\\+description|--description|constraints|-constraints|\\+\\+constraints|--constraints|data_model_id|-data_model_id|\\+\\+data_model_id|--data_model_id)(,(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|type|-type|\\+\\+type|--type|is_required|-is_required|\\+\\+is_required|--is_required|is_primary_key|-is_primary_key|\\+\\+is_primary_key|--is_primary_key|description|-description|\\+\\+description|--description|constraints|-constraints|\\+\\+constraints|--constraints|data_model_id|-data_model_id|\\+\\+data_model_id|--data_model_id))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "data_model_field": "id,name,type,is_required,is_primary_key,description,constraints,data_model_id"
              },
              "properties": {
                "data_model_field": {
                  "description": "Comma separated field names for data_model_field",
                  "example": "id,name,type,is_required,is_primary_key,description,constraints,data_model_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/data_model_fields"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a data_model_field",
                      "items": {
                        "$ref": "#/components/schemas/data_model_field"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List data model fields",
        "tags": [
          "Data models"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "graphql/first-query"
          ],
          "resource": "data_model_field",
          "resourceGroup": "data-models",
          "resourceGroupLabel": "Data models",
          "resourceLabel": "Data model field",
          "resourcePlural": "Data model fields",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      },
      "post": {
        "callbacks": {},
        "deprecated": false,
        "description": "Create a new data model field in the service account's workspace.",
        "operationId": "createDataModelField",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "data_model_field": "id,name,type,is_required,is_primary_key,description,constraints,data_model_id"
              },
              "properties": {
                "data_model_field": {
                  "description": "Comma separated field names for data_model_field",
                  "example": "id,name,type,is_required,is_primary_key,description,constraints,data_model_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409.",
            "example": "workflow-save-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "Primary request or response document data.",
                    "properties": {
                      "attributes": {
                        "additionalProperties": false,
                        "description": "Public resource attributes.",
                        "properties": {
                          "constraints": {
                            "anyOf": [
                              {
                                "type": "object"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Forward-compatible map of UI-captured constraints (e.g. max_length, min, max, regex, past_only, future_only). Not yet enforced server-side."
                          },
                          "data_model_id": {
                            "description": "Data model id accepted by this operation.",
                            "format": "uuid",
                            "type": "string"
                          },
                          "description": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Optional human-readable description of the field's purpose"
                          },
                          "is_primary_key": {
                            "anyOf": [
                              {
                                "type": "boolean"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "If true, this field identifies the business entity for grouping/aggregating Facts"
                          },
                          "is_required": {
                            "anyOf": [
                              {
                                "type": "boolean"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Is required accepted by this operation."
                          },
                          "name": {
                            "description": "Field name, e.g. \"email_address\". Must start with a lowercase letter; lowercase letters, numbers, and underscores only.",
                            "type": "string"
                          },
                          "type": {
                            "anyOf": [
                              {
                                "enum": [
                                  "string",
                                  "integer",
                                  "boolean",
                                  "datetime",
                                  "float",
                                  "map"
                                ],
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Data type for validation"
                          }
                        },
                        "required": [
                          "name",
                          "data_model_id"
                        ],
                        "type": "object"
                      },
                      "relationships": {
                        "additionalProperties": false,
                        "description": "JSON:API relationship linkage.",
                        "properties": {},
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "enum": [
                          "data_model_field"
                        ]
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            }
          },
          "description": "Request body for the /data_model_fields operation on data_model_field resource",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "data_model_field"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/data_model_field"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "409": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "idempotency_key_reused",
                      "detail": "The key was previously used for a different request.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "409"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The key was previously used for a different request."
          },
          "422": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "invalid_request",
                      "detail": "The request document failed resource validation.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "422"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request document failed resource validation."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create a data model field",
        "tags": [
          "Data models"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "idempotency_key_reused",
              "description": "The key was previously used for a different request.",
              "retryable": false,
              "status": 409
            },
            {
              "code": "invalid_request",
              "description": "The request document failed resource validation.",
              "retryable": false,
              "status": 422
            }
          ],
          "idempotency": "supported",
          "relatedGuides": [
            "platform/json-api",
            "graphql/first-query",
            "guides/idempotent-write"
          ],
          "resource": "data_model_field",
          "resourceGroup": "data-models",
          "resourceGroupLabel": "Data models",
          "resourceLabel": "Data model field",
          "resourcePlural": "Data model fields",
          "scope": "api_write",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/data_model_fields/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one data model field visible to the authenticated service account.",
        "operationId": "retrieveDataModelField",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "data_model_field": "id,name,type,is_required,is_primary_key,description,constraints,data_model_id"
              },
              "properties": {
                "data_model_field": {
                  "description": "Comma separated field names for data_model_field",
                  "example": "id,name,type,is_required,is_primary_key,description,constraints,data_model_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "data_model_field"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/data_model_field"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a data model field",
        "tags": [
          "Data models"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "graphql/first-query"
          ],
          "resource": "data_model_field",
          "resourceGroup": "data-models",
          "resourceGroupLabel": "Data models",
          "resourceLabel": "Data model field",
          "resourcePlural": "Data model fields",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/data_models": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List data models visible to the authenticated service account.",
        "operationId": "listDataModels",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/data_model-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|slug|-slug|\\+\\+slug|--slug|description|-description|\\+\\+description|--description|retention_days|-retention_days|\\+\\+retention_days|--retention_days|organization_id|-organization_id|\\+\\+organization_id|--organization_id)(,(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|slug|-slug|\\+\\+slug|--slug|description|-description|\\+\\+description|--description|retention_days|-retention_days|\\+\\+retention_days|--retention_days|organization_id|-organization_id|\\+\\+organization_id|--organization_id))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "data_model": "id,name,slug,description,retention_days,organization_id"
              },
              "properties": {
                "data_model": {
                  "description": "Comma separated field names for data_model",
                  "example": "id,name,slug,description,retention_days,organization_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/data_models"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a data_model",
                      "items": {
                        "$ref": "#/components/schemas/data_model"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List data models",
        "tags": [
          "Data models"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "graphql/first-query"
          ],
          "resource": "data_model",
          "resourceGroup": "data-models",
          "resourceGroupLabel": "Data models",
          "resourceLabel": "Data model",
          "resourcePlural": "Data models",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      },
      "post": {
        "callbacks": {},
        "deprecated": false,
        "description": "Create a new data model in the service account's workspace.",
        "operationId": "createDataModel",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "data_model": "id,name,slug,description,retention_days,organization_id"
              },
              "properties": {
                "data_model": {
                  "description": "Comma separated field names for data_model",
                  "example": "id,name,slug,description,retention_days,organization_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409.",
            "example": "workflow-save-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "Primary request or response document data.",
                    "properties": {
                      "attributes": {
                        "additionalProperties": false,
                        "description": "Public resource attributes.",
                        "properties": {
                          "description": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Human-readable description."
                          },
                          "name": {
                            "description": "Human-readable name, e.g. \"Customer\"",
                            "type": "string"
                          },
                          "organization_id": {
                            "anyOf": [
                              {
                                "format": "uuid",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Organization that owns the resource."
                          },
                          "retention_days": {
                            "anyOf": [
                              {
                                "type": "integer"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "How many days of records to keep. Records observed before that window are permanently deleted by the nightly sweep. Nil keeps every record."
                          },
                          "slug": {
                            "description": "URL-safe identifier, e.g. \"customer\" (unique per organization)",
                            "type": "string"
                          }
                        },
                        "required": [
                          "name",
                          "slug"
                        ],
                        "type": "object"
                      },
                      "relationships": {
                        "additionalProperties": false,
                        "description": "JSON:API relationship linkage.",
                        "properties": {},
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "enum": [
                          "data_model"
                        ]
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            }
          },
          "description": "Request body for the /data_models operation on data_model resource",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "data_model"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/data_model"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "409": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "idempotency_key_reused",
                      "detail": "The key was previously used for a different request.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "409"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The key was previously used for a different request."
          },
          "422": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "invalid_request",
                      "detail": "The request document failed resource validation.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "422"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request document failed resource validation."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create a data model",
        "tags": [
          "Data models"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "idempotency_key_reused",
              "description": "The key was previously used for a different request.",
              "retryable": false,
              "status": 409
            },
            {
              "code": "invalid_request",
              "description": "The request document failed resource validation.",
              "retryable": false,
              "status": 422
            }
          ],
          "idempotency": "supported",
          "relatedGuides": [
            "platform/json-api",
            "graphql/first-query",
            "guides/idempotent-write"
          ],
          "resource": "data_model",
          "resourceGroup": "data-models",
          "resourceGroupLabel": "Data models",
          "resourceLabel": "Data model",
          "resourcePlural": "Data models",
          "scope": "api_write",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/data_models/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one data model visible to the authenticated service account.",
        "operationId": "retrieveDataModel",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "data_model": "id,name,slug,description,retention_days,organization_id"
              },
              "properties": {
                "data_model": {
                  "description": "Comma separated field names for data_model",
                  "example": "id,name,slug,description,retention_days,organization_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "data_model"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/data_model"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a data model",
        "tags": [
          "Data models"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "graphql/first-query"
          ],
          "resource": "data_model",
          "resourceGroup": "data-models",
          "resourceGroupLabel": "Data models",
          "resourceLabel": "Data model",
          "resourcePlural": "Data models",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      },
      "patch": {
        "callbacks": {},
        "deprecated": false,
        "description": "Update the supported fields of one data model.",
        "operationId": "updateDataModel",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "data_model": "id,name,slug,description,retention_days,organization_id"
              },
              "properties": {
                "data_model": {
                  "description": "Comma separated field names for data_model",
                  "example": "id,name,slug,description,retention_days,organization_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409.",
            "example": "workflow-save-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "Primary request or response document data.",
                    "properties": {
                      "attributes": {
                        "additionalProperties": false,
                        "description": "Public resource attributes.",
                        "properties": {
                          "description": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Human-readable description."
                          },
                          "name": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Human-readable name, e.g. \"Customer\""
                          },
                          "retention_days": {
                            "anyOf": [
                              {
                                "type": "integer"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "How many days of records to keep. Records observed before that window are permanently deleted by the nightly sweep. Nil keeps every record."
                          }
                        },
                        "type": "object"
                      },
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "relationships": {
                        "additionalProperties": false,
                        "description": "JSON:API relationship linkage.",
                        "properties": {},
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "enum": [
                          "data_model"
                        ]
                      }
                    },
                    "required": [
                      "id"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            }
          },
          "description": "Request body for the /data_models/:id operation on data_model resource",
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "data_model"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/data_model"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "409": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "idempotency_key_reused",
                      "detail": "The key was previously used for a different request.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "409"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The key was previously used for a different request."
          },
          "422": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "invalid_request",
                      "detail": "The request document failed resource validation.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "422"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request document failed resource validation."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update a data model",
        "tags": [
          "Data models"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            },
            {
              "code": "idempotency_key_reused",
              "description": "The key was previously used for a different request.",
              "retryable": false,
              "status": 409
            },
            {
              "code": "invalid_request",
              "description": "The request document failed resource validation.",
              "retryable": false,
              "status": 422
            }
          ],
          "idempotency": "supported",
          "relatedGuides": [
            "platform/json-api",
            "graphql/first-query",
            "guides/idempotent-write"
          ],
          "resource": "data_model",
          "resourceGroup": "data-models",
          "resourceGroupLabel": "Data models",
          "resourceLabel": "Data model",
          "resourcePlural": "Data models",
          "scope": "api_write",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/dead_letter_messages": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List dead-letter messages visible to the authenticated service account.",
        "operationId": "listDeadLetterMessages",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/dead_letter_message-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|error|-error|\\+\\+error|--error|source|-source|\\+\\+source|--source|retry_count|-retry_count|\\+\\+retry_count|--retry_count|status|-status|\\+\\+status|--status|connector_id|-connector_id|\\+\\+connector_id|--connector_id|trigger_id|-trigger_id|\\+\\+trigger_id|--trigger_id|organization_id|-organization_id|\\+\\+organization_id|--organization_id)(,(id|-id|\\+\\+id|--id|error|-error|\\+\\+error|--error|source|-source|\\+\\+source|--source|retry_count|-retry_count|\\+\\+retry_count|--retry_count|status|-status|\\+\\+status|--status|connector_id|-connector_id|\\+\\+connector_id|--connector_id|trigger_id|-trigger_id|\\+\\+trigger_id|--trigger_id|organization_id|-organization_id|\\+\\+organization_id|--organization_id))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "dead_letter_message": "id,error,source,retry_count,status,connector_id,trigger_id,organization_id"
              },
              "properties": {
                "dead_letter_message": {
                  "description": "Comma separated field names for dead_letter_message",
                  "example": "id,error,source,retry_count,status,connector_id,trigger_id,organization_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/dead_letter_messages"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a dead_letter_message",
                      "items": {
                        "$ref": "#/components/schemas/dead_letter_message"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List dead-letter messages",
        "tags": [
          "Integrations"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api"
          ],
          "resource": "dead_letter_message",
          "resourceGroup": "integrations",
          "resourceGroupLabel": "Integrations",
          "resourceLabel": "Dead-letter message",
          "resourcePlural": "Dead-letter messages",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/dead_letter_messages/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one dead-letter message visible to the authenticated service account.",
        "operationId": "retrieveDeadLetterMessage",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "dead_letter_message": "id,error,source,retry_count,status,connector_id,trigger_id,organization_id"
              },
              "properties": {
                "dead_letter_message": {
                  "description": "Comma separated field names for dead_letter_message",
                  "example": "id,error,source,retry_count,status,connector_id,trigger_id,organization_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "dead_letter_message"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/dead_letter_message"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a dead-letter message",
        "tags": [
          "Integrations"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api"
          ],
          "resource": "dead_letter_message",
          "resourceGroup": "integrations",
          "resourceGroupLabel": "Integrations",
          "resourceLabel": "Dead-letter message",
          "resourcePlural": "Dead-letter messages",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/external_connectors": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List external connectors visible to the authenticated service account.",
        "operationId": "listExternalConnectors",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/external_connector-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|description|-description|\\+\\+description|--description|type|-type|\\+\\+type|--type|auth_type|-auth_type|\\+\\+auth_type|--auth_type|config|-config|\\+\\+config|--config|direction|-direction|\\+\\+direction|--direction|status|-status|\\+\\+status|--status|schema_fingerprint|-schema_fingerprint|\\+\\+schema_fingerprint|--schema_fingerprint|schema_sampled_at|-schema_sampled_at|\\+\\+schema_sampled_at|--schema_sampled_at|organization_id|-organization_id|\\+\\+organization_id|--organization_id)(,(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|description|-description|\\+\\+description|--description|type|-type|\\+\\+type|--type|auth_type|-auth_type|\\+\\+auth_type|--auth_type|config|-config|\\+\\+config|--config|direction|-direction|\\+\\+direction|--direction|status|-status|\\+\\+status|--status|schema_fingerprint|-schema_fingerprint|\\+\\+schema_fingerprint|--schema_fingerprint|schema_sampled_at|-schema_sampled_at|\\+\\+schema_sampled_at|--schema_sampled_at|organization_id|-organization_id|\\+\\+organization_id|--organization_id))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "external_connector": "id,name,description,type,auth_type,config,direction,status,connector_schema,schema_fingerprint,schema_sampled_at,organization_id"
              },
              "properties": {
                "external_connector": {
                  "description": "Comma separated field names for external_connector",
                  "example": "id,name,description,type,auth_type,config,direction,status,connector_schema,schema_fingerprint,schema_sampled_at,organization_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/external_connectors"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a external_connector",
                      "items": {
                        "$ref": "#/components/schemas/external_connector"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List external connectors",
        "tags": [
          "Integrations"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api"
          ],
          "resource": "external_connector",
          "resourceGroup": "integrations",
          "resourceGroupLabel": "Integrations",
          "resourceLabel": "External connector",
          "resourcePlural": "External connectors",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/external_connectors/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one external connector visible to the authenticated service account.",
        "operationId": "retrieveExternalConnector",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "external_connector": "id,name,description,type,auth_type,config,direction,status,connector_schema,schema_fingerprint,schema_sampled_at,organization_id"
              },
              "properties": {
                "external_connector": {
                  "description": "Comma separated field names for external_connector",
                  "example": "id,name,description,type,auth_type,config,direction,status,connector_schema,schema_fingerprint,schema_sampled_at,organization_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "external_connector"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/external_connector"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a external connector",
        "tags": [
          "Integrations"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api"
          ],
          "resource": "external_connector",
          "resourceGroup": "integrations",
          "resourceGroupLabel": "Integrations",
          "resourceLabel": "External connector",
          "resourcePlural": "External connectors",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/org_memberships": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List organization memberships visible to the authenticated service account.",
        "operationId": "listOrganizationMemberships",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/org_membership-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|role|-role|\\+\\+role|--role|is_active|-is_active|\\+\\+is_active|--is_active)(,(id|-id|\\+\\+id|--id|role|-role|\\+\\+role|--role|is_active|-is_active|\\+\\+is_active|--is_active))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "org_membership": "id,role,is_active"
              },
              "properties": {
                "org_membership": {
                  "description": "Comma separated field names for org_membership",
                  "example": "id,role,is_active",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/org_memberships"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a org_membership",
                      "items": {
                        "$ref": "#/components/schemas/org_membership"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List organization memberships",
        "tags": [
          "Account and organization"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "authentication/scopes-and-permissions"
          ],
          "resource": "org_membership",
          "resourceGroup": "account-organization",
          "resourceGroupLabel": "Account and organization",
          "resourceLabel": "Organization membership",
          "resourcePlural": "Organization memberships",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/org_memberships/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one organization membership visible to the authenticated service account.",
        "operationId": "retrieveOrganizationMembership",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "org_membership": "id,role,is_active"
              },
              "properties": {
                "org_membership": {
                  "description": "Comma separated field names for org_membership",
                  "example": "id,role,is_active",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "org_membership"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/org_membership"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a organization membership",
        "tags": [
          "Account and organization"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "authentication/scopes-and-permissions"
          ],
          "resource": "org_membership",
          "resourceGroup": "account-organization",
          "resourceGroupLabel": "Account and organization",
          "resourceLabel": "Organization membership",
          "resourcePlural": "Organization memberships",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/organizations": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List organizations visible to the authenticated service account.",
        "operationId": "listOrganizations",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/organization-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|domain|-domain|\\+\\+domain|--domain|type|-type|\\+\\+type|--type)(,(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|domain|-domain|\\+\\+domain|--domain|type|-type|\\+\\+type|--type))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "organization": "id,name,domain,type"
              },
              "properties": {
                "organization": {
                  "description": "Comma separated field names for organization",
                  "example": "id,name,domain,type",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/organizations"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a organization",
                      "items": {
                        "$ref": "#/components/schemas/organization"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List organizations",
        "tags": [
          "Account and organization"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "authentication/scopes-and-permissions"
          ],
          "resource": "organization",
          "resourceGroup": "account-organization",
          "resourceGroupLabel": "Account and organization",
          "resourceLabel": "Organization",
          "resourcePlural": "Organizations",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/organizations/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one organization visible to the authenticated service account.",
        "operationId": "retrieveOrganization",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "organization": "id,name,domain,type"
              },
              "properties": {
                "organization": {
                  "description": "Comma separated field names for organization",
                  "example": "id,name,domain,type",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "organization"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/organization"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a organization",
        "tags": [
          "Account and organization"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "authentication/scopes-and-permissions"
          ],
          "resource": "organization",
          "resourceGroup": "account-organization",
          "resourceGroupLabel": "Account and organization",
          "resourceLabel": "Organization",
          "resourcePlural": "Organizations",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      },
      "patch": {
        "callbacks": {},
        "deprecated": false,
        "description": "Update the supported fields of one organization.",
        "operationId": "updateOrganization",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "organization": "id,name,domain,type"
              },
              "properties": {
                "organization": {
                  "description": "Comma separated field names for organization",
                  "example": "id,name,domain,type",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409.",
            "example": "workflow-save-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "Primary request or response document data.",
                    "properties": {
                      "attributes": {
                        "additionalProperties": false,
                        "description": "Public resource attributes.",
                        "properties": {
                          "name": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Human-readable resource name."
                          }
                        },
                        "type": "object"
                      },
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "relationships": {
                        "additionalProperties": false,
                        "description": "JSON:API relationship linkage.",
                        "properties": {},
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "enum": [
                          "organization"
                        ]
                      }
                    },
                    "required": [
                      "id"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            }
          },
          "description": "Request body for the /organizations/:id operation on organization resource",
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "organization"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/organization"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "409": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "idempotency_key_reused",
                      "detail": "The key was previously used for a different request.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "409"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The key was previously used for a different request."
          },
          "422": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "invalid_request",
                      "detail": "The request document failed resource validation.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "422"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request document failed resource validation."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update a organization",
        "tags": [
          "Account and organization"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            },
            {
              "code": "idempotency_key_reused",
              "description": "The key was previously used for a different request.",
              "retryable": false,
              "status": 409
            },
            {
              "code": "invalid_request",
              "description": "The request document failed resource validation.",
              "retryable": false,
              "status": 422
            }
          ],
          "idempotency": "supported",
          "relatedGuides": [
            "platform/json-api",
            "authentication/scopes-and-permissions",
            "guides/idempotent-write"
          ],
          "resource": "organization",
          "resourceGroup": "account-organization",
          "resourceGroupLabel": "Account and organization",
          "resourceLabel": "Organization",
          "resourcePlural": "Organizations",
          "scope": "api_write",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/users": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List users visible to the authenticated service account.",
        "operationId": "listUsers",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/user-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|email|-email|\\+\\+email|--email|first_name|-first_name|\\+\\+first_name|--first_name|last_name|-last_name|\\+\\+last_name|--last_name|phone_number|-phone_number|\\+\\+phone_number|--phone_number|timezone|-timezone|\\+\\+timezone|--timezone)(,(id|-id|\\+\\+id|--id|email|-email|\\+\\+email|--email|first_name|-first_name|\\+\\+first_name|--first_name|last_name|-last_name|\\+\\+last_name|--last_name|phone_number|-phone_number|\\+\\+phone_number|--phone_number|timezone|-timezone|\\+\\+timezone|--timezone))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "user": "id,email,first_name,last_name,phone_number,timezone"
              },
              "properties": {
                "user": {
                  "description": "Comma separated field names for user",
                  "example": "id,email,first_name,last_name,phone_number,timezone",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/users"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a user",
                      "items": {
                        "$ref": "#/components/schemas/user"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List users",
        "tags": [
          "Account and organization"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "authentication/scopes-and-permissions"
          ],
          "resource": "user",
          "resourceGroup": "account-organization",
          "resourceGroupLabel": "Account and organization",
          "resourceLabel": "User",
          "resourcePlural": "Users",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/users/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one user visible to the authenticated service account.",
        "operationId": "retrieveUser",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "user": "id,email,first_name,last_name,phone_number,timezone"
              },
              "properties": {
                "user": {
                  "description": "Comma separated field names for user",
                  "example": "id,email,first_name,last_name,phone_number,timezone",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "user"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/user"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a user",
        "tags": [
          "Account and organization"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "authentication/scopes-and-permissions"
          ],
          "resource": "user",
          "resourceGroup": "account-organization",
          "resourceGroupLabel": "Account and organization",
          "resourceLabel": "User",
          "resourcePlural": "Users",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/users/{id}/profile": {
      "patch": {
        "callbacks": {},
        "deprecated": false,
        "description": "Update the authenticated run-as user's supported profile fields.",
        "operationId": "updateUserProfile",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "user": "id,email,first_name,last_name,phone_number,timezone"
              },
              "properties": {
                "user": {
                  "description": "Comma separated field names for user",
                  "example": "id,email,first_name,last_name,phone_number,timezone",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409.",
            "example": "workflow-save-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "Primary request or response document data.",
                    "properties": {
                      "attributes": {
                        "additionalProperties": false,
                        "description": "Public resource attributes.",
                        "properties": {
                          "first_name": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "User's first name. May be nil for accounts created via magic link before profile capture."
                          },
                          "last_name": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "User's last name. May be nil for accounts created via magic link before profile capture."
                          },
                          "phone_number": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Phone number accepted by this operation."
                          },
                          "timezone": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "IANA timezone string, e.g. 'America/New_York'. Detected from browser on signup."
                          }
                        },
                        "type": "object"
                      },
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "relationships": {
                        "additionalProperties": false,
                        "description": "JSON:API relationship linkage.",
                        "properties": {},
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "enum": [
                          "user"
                        ]
                      }
                    },
                    "required": [
                      "id"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            }
          },
          "description": "Request body for the /users/:id/profile operation on user resource",
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "user"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/user"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "409": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "idempotency_key_reused",
                      "detail": "The key was previously used for a different request.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "409"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The key was previously used for a different request."
          },
          "422": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "invalid_request",
                      "detail": "The request document failed resource validation.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "422"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request document failed resource validation."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update the current user profile",
        "tags": [
          "Account and organization"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            },
            {
              "code": "idempotency_key_reused",
              "description": "The key was previously used for a different request.",
              "retryable": false,
              "status": 409
            },
            {
              "code": "invalid_request",
              "description": "The request document failed resource validation.",
              "retryable": false,
              "status": 422
            }
          ],
          "idempotency": "supported",
          "relatedGuides": [
            "platform/json-api",
            "authentication/scopes-and-permissions",
            "guides/idempotent-write"
          ],
          "resource": "user",
          "resourceGroup": "account-organization",
          "resourceGroupLabel": "Account and organization",
          "resourceLabel": "User",
          "resourcePlural": "Users",
          "scope": "api_write",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/widgets": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List widgets visible to the authenticated service account.",
        "operationId": "listWidgets",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/widget-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|type|-type|\\+\\+type|--type|config|-config|\\+\\+config|--config|source|-source|\\+\\+source|--source|is_public|-is_public|\\+\\+is_public|--is_public|organization_id|-organization_id|\\+\\+organization_id|--organization_id|data_model_id|-data_model_id|\\+\\+data_model_id|--data_model_id)(,(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|type|-type|\\+\\+type|--type|config|-config|\\+\\+config|--config|source|-source|\\+\\+source|--source|is_public|-is_public|\\+\\+is_public|--is_public|organization_id|-organization_id|\\+\\+organization_id|--organization_id|data_model_id|-data_model_id|\\+\\+data_model_id|--data_model_id))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "widget": "id,name,type,config,filters,embed_filter_allowlist,source,is_public,organization_id,data_model_id"
              },
              "properties": {
                "widget": {
                  "description": "Comma separated field names for widget",
                  "example": "id,name,type,config,filters,embed_filter_allowlist,source,is_public,organization_id,data_model_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/widgets"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a widget",
                      "items": {
                        "$ref": "#/components/schemas/widget"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List widgets",
        "tags": [
          "Dashboards"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api"
          ],
          "resource": "widget",
          "resourceGroup": "dashboards",
          "resourceGroupLabel": "Dashboards",
          "resourceLabel": "Widget",
          "resourcePlural": "Widgets",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      },
      "post": {
        "callbacks": {},
        "deprecated": false,
        "description": "Create a new widget in the service account's workspace.",
        "operationId": "createWidget",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "widget": "id,name,type,config,filters,embed_filter_allowlist,source,is_public,organization_id,data_model_id"
              },
              "properties": {
                "widget": {
                  "description": "Comma separated field names for widget",
                  "example": "id,name,type,config,filters,embed_filter_allowlist,source,is_public,organization_id,data_model_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409.",
            "example": "workflow-save-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "Primary request or response document data.",
                    "properties": {
                      "attributes": {
                        "additionalProperties": false,
                        "description": "Public resource attributes.",
                        "properties": {
                          "config": {
                            "anyOf": [
                              {
                                "type": "object"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Type-specific configuration (columns, fields, aggregations, etc.)"
                          },
                          "data_model_id": {
                            "anyOf": [
                              {
                                "format": "uuid",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Data model id accepted by this operation."
                          },
                          "embed_filter_allowlist": {
                            "anyOf": [
                              {
                                "items": {
                                  "description": "Filter dimensions a public embedder may override at runtime. Defaults to allowing time_range; clear the array to lock all filters.",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Filter dimensions a public embedder may override at runtime. Defaults to allowing time_range; clear the array to lock all filters."
                          },
                          "filters": {
                            "anyOf": [
                              {
                                "$ref": "#/components/schemas/widget_filters-input-create-type"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Author-baseline filter set (e.g. time-range constraint) layered with dashboard/runtime overlays at read time."
                          },
                          "name": {
                            "description": "Human-readable resource name.",
                            "type": "string"
                          },
                          "organization_id": {
                            "anyOf": [
                              {
                                "format": "uuid",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Organization that owns the resource."
                          },
                          "source": {
                            "anyOf": [
                              {
                                "enum": [
                                  "dashboard",
                                  "library"
                                ],
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Origin: :dashboard (inline, auto-cleaned) or :library (standalone)"
                          },
                          "type": {
                            "description": "Widget visualization type",
                            "enum": [
                              "line_chart",
                              "bar_chart",
                              "map_chart",
                              "table",
                              "stat_card",
                              "markdown",
                              "heatmap",
                              "activity_feed",
                              "pivot_table",
                              "pie_chart"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "name",
                          "type"
                        ],
                        "type": "object"
                      },
                      "relationships": {
                        "additionalProperties": false,
                        "description": "JSON:API relationship linkage.",
                        "properties": {},
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "enum": [
                          "widget"
                        ]
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            }
          },
          "description": "Request body for the /widgets operation on widget resource",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "widget"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/widget"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "409": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "idempotency_key_reused",
                      "detail": "The key was previously used for a different request.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "409"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The key was previously used for a different request."
          },
          "422": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "invalid_request",
                      "detail": "The request document failed resource validation.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "422"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request document failed resource validation."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create a widget",
        "tags": [
          "Dashboards"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "idempotency_key_reused",
              "description": "The key was previously used for a different request.",
              "retryable": false,
              "status": 409
            },
            {
              "code": "invalid_request",
              "description": "The request document failed resource validation.",
              "retryable": false,
              "status": 422
            }
          ],
          "idempotency": "supported",
          "relatedGuides": [
            "platform/json-api",
            "guides/idempotent-write"
          ],
          "resource": "widget",
          "resourceGroup": "dashboards",
          "resourceGroupLabel": "Dashboards",
          "resourceLabel": "Widget",
          "resourcePlural": "Widgets",
          "scope": "api_write",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/widgets/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one widget visible to the authenticated service account.",
        "operationId": "retrieveWidget",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "widget": "id,name,type,config,filters,embed_filter_allowlist,source,is_public,organization_id,data_model_id"
              },
              "properties": {
                "widget": {
                  "description": "Comma separated field names for widget",
                  "example": "id,name,type,config,filters,embed_filter_allowlist,source,is_public,organization_id,data_model_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "widget"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/widget"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a widget",
        "tags": [
          "Dashboards"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api"
          ],
          "resource": "widget",
          "resourceGroup": "dashboards",
          "resourceGroupLabel": "Dashboards",
          "resourceLabel": "Widget",
          "resourcePlural": "Widgets",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      },
      "patch": {
        "callbacks": {},
        "deprecated": false,
        "description": "Update the supported fields of one widget.",
        "operationId": "updateWidget",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "widget": "id,name,type,config,filters,embed_filter_allowlist,source,is_public,organization_id,data_model_id"
              },
              "properties": {
                "widget": {
                  "description": "Comma separated field names for widget",
                  "example": "id,name,type,config,filters,embed_filter_allowlist,source,is_public,organization_id,data_model_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409.",
            "example": "workflow-save-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "Primary request or response document data.",
                    "properties": {
                      "attributes": {
                        "additionalProperties": false,
                        "description": "Public resource attributes.",
                        "properties": {
                          "config": {
                            "anyOf": [
                              {
                                "type": "object"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Type-specific configuration (columns, fields, aggregations, etc.)"
                          },
                          "data_model_id": {
                            "anyOf": [
                              {
                                "format": "uuid",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Data model id accepted by this operation."
                          },
                          "embed_filter_allowlist": {
                            "anyOf": [
                              {
                                "items": {
                                  "description": "Filter dimensions a public embedder may override at runtime. Defaults to allowing time_range; clear the array to lock all filters.",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Filter dimensions a public embedder may override at runtime. Defaults to allowing time_range; clear the array to lock all filters."
                          },
                          "filters": {
                            "anyOf": [
                              {
                                "$ref": "#/components/schemas/widget_filters-input-update-type"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Author-baseline filter set (e.g. time-range constraint) layered with dashboard/runtime overlays at read time."
                          },
                          "name": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Human-readable resource name."
                          },
                          "type": {
                            "anyOf": [
                              {
                                "enum": [
                                  "line_chart",
                                  "bar_chart",
                                  "map_chart",
                                  "table",
                                  "stat_card",
                                  "markdown",
                                  "heatmap",
                                  "activity_feed",
                                  "pivot_table",
                                  "pie_chart"
                                ],
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Widget visualization type"
                          }
                        },
                        "type": "object"
                      },
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "relationships": {
                        "additionalProperties": false,
                        "description": "JSON:API relationship linkage.",
                        "properties": {},
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "enum": [
                          "widget"
                        ]
                      }
                    },
                    "required": [
                      "id"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            }
          },
          "description": "Request body for the /widgets/:id operation on widget resource",
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "widget"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/widget"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "409": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "idempotency_key_reused",
                      "detail": "The key was previously used for a different request.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "409"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The key was previously used for a different request."
          },
          "422": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "invalid_request",
                      "detail": "The request document failed resource validation.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "422"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request document failed resource validation."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Update a widget",
        "tags": [
          "Dashboards"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            },
            {
              "code": "idempotency_key_reused",
              "description": "The key was previously used for a different request.",
              "retryable": false,
              "status": 409
            },
            {
              "code": "invalid_request",
              "description": "The request document failed resource validation.",
              "retryable": false,
              "status": 422
            }
          ],
          "idempotency": "supported",
          "relatedGuides": [
            "platform/json-api",
            "guides/idempotent-write"
          ],
          "resource": "widget",
          "resourceGroup": "dashboards",
          "resourceGroupLabel": "Dashboards",
          "resourceLabel": "Widget",
          "resourcePlural": "Widgets",
          "scope": "api_write",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/workflow_data_mappings": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List workflow data mappings visible to the authenticated service account.",
        "operationId": "listWorkflowDataMappings",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/workflow_data_mapping-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|target_field_name|-target_field_name|\\+\\+target_field_name|--target_field_name|formula|-formula|\\+\\+formula|--formula|source_path|-source_path|\\+\\+source_path|--source_path|step_id|-step_id|\\+\\+step_id|--step_id|data_model_id|-data_model_id|\\+\\+data_model_id|--data_model_id)(,(id|-id|\\+\\+id|--id|target_field_name|-target_field_name|\\+\\+target_field_name|--target_field_name|formula|-formula|\\+\\+formula|--formula|source_path|-source_path|\\+\\+source_path|--source_path|step_id|-step_id|\\+\\+step_id|--step_id|data_model_id|-data_model_id|\\+\\+data_model_id|--data_model_id))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "workflow_data_mapping": "id,target_field_name,formula,source_path,step_id,data_model_id"
              },
              "properties": {
                "workflow_data_mapping": {
                  "description": "Comma separated field names for workflow_data_mapping",
                  "example": "id,target_field_name,formula,source_path,step_id,data_model_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/workflow_data_mappings"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a workflow_data_mapping",
                      "items": {
                        "$ref": "#/components/schemas/workflow_data_mapping"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List workflow data mappings",
        "tags": [
          "Workflows"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "guides/list-workflows"
          ],
          "resource": "workflow_data_mapping",
          "resourceGroup": "workflows",
          "resourceGroupLabel": "Workflows",
          "resourceLabel": "Workflow data mapping",
          "resourcePlural": "Workflow data mappings",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/workflow_data_mappings/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one workflow data mapping visible to the authenticated service account.",
        "operationId": "retrieveWorkflowDataMapping",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "workflow_data_mapping": "id,target_field_name,formula,source_path,step_id,data_model_id"
              },
              "properties": {
                "workflow_data_mapping": {
                  "description": "Comma separated field names for workflow_data_mapping",
                  "example": "id,target_field_name,formula,source_path,step_id,data_model_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "workflow_data_mapping"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/workflow_data_mapping"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a workflow data mapping",
        "tags": [
          "Workflows"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "guides/list-workflows"
          ],
          "resource": "workflow_data_mapping",
          "resourceGroup": "workflows",
          "resourceGroupLabel": "Workflows",
          "resourceLabel": "Workflow data mapping",
          "resourcePlural": "Workflow data mappings",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/workflow_runs": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List workflow runs visible to the authenticated service account.",
        "operationId": "listWorkflowRuns",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/workflow_run-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|event_id|-event_id|\\+\\+event_id|--event_id|error_message|-error_message|\\+\\+error_message|--error_message|suspend_reason|-suspend_reason|\\+\\+suspend_reason|--suspend_reason|generation|-generation|\\+\\+generation|--generation|parent_step_identifier|-parent_step_identifier|\\+\\+parent_step_identifier|--parent_step_identifier|started_at|-started_at|\\+\\+started_at|--started_at|completed_at|-completed_at|\\+\\+completed_at|--completed_at|state|-state|\\+\\+state|--state|workflow_id|-workflow_id|\\+\\+workflow_id|--workflow_id|snapshot_id|-snapshot_id|\\+\\+snapshot_id|--snapshot_id|parent_run_id|-parent_run_id|\\+\\+parent_run_id|--parent_run_id)(,(id|-id|\\+\\+id|--id|event_id|-event_id|\\+\\+event_id|--event_id|error_message|-error_message|\\+\\+error_message|--error_message|suspend_reason|-suspend_reason|\\+\\+suspend_reason|--suspend_reason|generation|-generation|\\+\\+generation|--generation|parent_step_identifier|-parent_step_identifier|\\+\\+parent_step_identifier|--parent_step_identifier|started_at|-started_at|\\+\\+started_at|--started_at|completed_at|-completed_at|\\+\\+completed_at|--completed_at|state|-state|\\+\\+state|--state|workflow_id|-workflow_id|\\+\\+workflow_id|--workflow_id|snapshot_id|-snapshot_id|\\+\\+snapshot_id|--snapshot_id|parent_run_id|-parent_run_id|\\+\\+parent_run_id|--parent_run_id))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "workflow_run": "id,event_id,error_message,suspend_reason,generation,parent_step_identifier,started_at,completed_at,state,workflow_id,snapshot_id,parent_run_id"
              },
              "properties": {
                "workflow_run": {
                  "description": "Comma separated field names for workflow_run",
                  "example": "id,event_id,error_message,suspend_reason,generation,parent_step_identifier,started_at,completed_at,state,workflow_id,snapshot_id,parent_run_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/workflow_runs"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a workflow_run",
                      "items": {
                        "$ref": "#/components/schemas/workflow_run"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List workflow runs",
        "tags": [
          "Runs and monitoring"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "guides/follow-workflow-run"
          ],
          "resource": "workflow_run",
          "resourceGroup": "runs-monitoring",
          "resourceGroupLabel": "Runs and monitoring",
          "resourceLabel": "Workflow run",
          "resourcePlural": "Workflow runs",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/workflow_runs/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one workflow run visible to the authenticated service account.",
        "operationId": "retrieveWorkflowRun",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "workflow_run": "id,event_id,error_message,suspend_reason,generation,parent_step_identifier,started_at,completed_at,state,workflow_id,snapshot_id,parent_run_id"
              },
              "properties": {
                "workflow_run": {
                  "description": "Comma separated field names for workflow_run",
                  "example": "id,event_id,error_message,suspend_reason,generation,parent_step_identifier,started_at,completed_at,state,workflow_id,snapshot_id,parent_run_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "workflow_run"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/workflow_run"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a workflow run",
        "tags": [
          "Runs and monitoring"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "guides/follow-workflow-run"
          ],
          "resource": "workflow_run",
          "resourceGroup": "runs-monitoring",
          "resourceGroupLabel": "Runs and monitoring",
          "resourceLabel": "Workflow run",
          "resourcePlural": "Workflow runs",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/workflow_runs/{workflow_run_id}/steps": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Inspect status, timing, and safe error metadata for each step in one workflow run.",
        "operationId": "listWorkflowRunSteps",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "workflow_run_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/workflow_runs/{workflow_run_id}/steps"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "result": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "attempt": {
                            "anyOf": [
                              {
                                "type": "integer"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "duration_ms": {
                            "anyOf": [
                              {
                                "type": "integer"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "error": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "finished_at": {
                            "anyOf": [
                              {},
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "identifier": {
                            "type": "string"
                          },
                          "started_at": {
                            "anyOf": [
                              {},
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "status": {
                            "anyOf": [
                              {
                                "enum": [
                                  "pending",
                                  "running",
                                  "completed",
                                  "failed",
                                  "skipped"
                                ],
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "required": [
                          "identifier"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List workflow run steps",
        "tags": [
          "Runs and monitoring"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "guides/follow-workflow-run"
          ],
          "resource": "workflow_run",
          "resourceGroup": "runs-monitoring",
          "resourceGroupLabel": "Runs and monitoring",
          "resourceLabel": "Workflow run",
          "resourcePlural": "Workflow runs",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/workflow_steps": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List workflow steps visible to the authenticated service account.",
        "operationId": "listWorkflowSteps",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/workflow_step-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|identifier|-identifier|\\+\\+identifier|--identifier|type|-type|\\+\\+type|--type|config|-config|\\+\\+config|--config|api_operation_ref|-api_operation_ref|\\+\\+api_operation_ref|--api_operation_ref|position|-position|\\+\\+position|--position|args|-args|\\+\\+args|--args|order|-order|\\+\\+order|--order|compensation_type|-compensation_type|\\+\\+compensation_type|--compensation_type|compensation_config|-compensation_config|\\+\\+compensation_config|--compensation_config|workflow_id|-workflow_id|\\+\\+workflow_id|--workflow_id|external_connector_id|-external_connector_id|\\+\\+external_connector_id|--external_connector_id|api_spec_id|-api_spec_id|\\+\\+api_spec_id|--api_spec_id)(,(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|identifier|-identifier|\\+\\+identifier|--identifier|type|-type|\\+\\+type|--type|config|-config|\\+\\+config|--config|api_operation_ref|-api_operation_ref|\\+\\+api_operation_ref|--api_operation_ref|position|-position|\\+\\+position|--position|args|-args|\\+\\+args|--args|order|-order|\\+\\+order|--order|compensation_type|-compensation_type|\\+\\+compensation_type|--compensation_type|compensation_config|-compensation_config|\\+\\+compensation_config|--compensation_config|workflow_id|-workflow_id|\\+\\+workflow_id|--workflow_id|external_connector_id|-external_connector_id|\\+\\+external_connector_id|--external_connector_id|api_spec_id|-api_spec_id|\\+\\+api_spec_id|--api_spec_id))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "workflow_step": "id,name,identifier,type,config,api_operation_ref,position,wait_for,trigger_connections,args,order,compensation_type,compensation_config,workflow_id,external_connector_id,api_spec_id"
              },
              "properties": {
                "workflow_step": {
                  "description": "Comma separated field names for workflow_step",
                  "example": "id,name,identifier,type,config,api_operation_ref,position,wait_for,trigger_connections,args,order,compensation_type,compensation_config,workflow_id,external_connector_id,api_spec_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/workflow_steps"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a workflow_step",
                      "items": {
                        "$ref": "#/components/schemas/workflow_step"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List workflow steps",
        "tags": [
          "Workflows"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "guides/list-workflows"
          ],
          "resource": "workflow_step",
          "resourceGroup": "workflows",
          "resourceGroupLabel": "Workflows",
          "resourceLabel": "Workflow step",
          "resourcePlural": "Workflow steps",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/workflow_steps/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one workflow step visible to the authenticated service account.",
        "operationId": "retrieveWorkflowStep",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "workflow_step": "id,name,identifier,type,config,api_operation_ref,position,wait_for,trigger_connections,args,order,compensation_type,compensation_config,workflow_id,external_connector_id,api_spec_id"
              },
              "properties": {
                "workflow_step": {
                  "description": "Comma separated field names for workflow_step",
                  "example": "id,name,identifier,type,config,api_operation_ref,position,wait_for,trigger_connections,args,order,compensation_type,compensation_config,workflow_id,external_connector_id,api_spec_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "workflow_step"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/workflow_step"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a workflow step",
        "tags": [
          "Workflows"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "guides/list-workflows"
          ],
          "resource": "workflow_step",
          "resourceGroup": "workflows",
          "resourceGroupLabel": "Workflows",
          "resourceLabel": "Workflow step",
          "resourcePlural": "Workflow steps",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/workflow_triggers": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List workflow triggers visible to the authenticated service account.",
        "operationId": "listWorkflowTriggers",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/workflow_trigger-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|type|-type|\\+\\+type|--type|trigger_config|-trigger_config|\\+\\+trigger_config|--trigger_config|observed_at_path|-observed_at_path|\\+\\+observed_at_path|--observed_at_path|workflow_id|-workflow_id|\\+\\+workflow_id|--workflow_id|organization_id|-organization_id|\\+\\+organization_id|--organization_id|external_connector_id|-external_connector_id|\\+\\+external_connector_id|--external_connector_id|credential_id|-credential_id|\\+\\+credential_id|--credential_id)(,(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|type|-type|\\+\\+type|--type|trigger_config|-trigger_config|\\+\\+trigger_config|--trigger_config|observed_at_path|-observed_at_path|\\+\\+observed_at_path|--observed_at_path|workflow_id|-workflow_id|\\+\\+workflow_id|--workflow_id|organization_id|-organization_id|\\+\\+organization_id|--organization_id|external_connector_id|-external_connector_id|\\+\\+external_connector_id|--external_connector_id|credential_id|-credential_id|\\+\\+credential_id|--credential_id))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "workflow_trigger": "id,name,type,trigger_config,observed_at_path,workflow_id,organization_id,external_connector_id,credential_id"
              },
              "properties": {
                "workflow_trigger": {
                  "description": "Comma separated field names for workflow_trigger",
                  "example": "id,name,type,trigger_config,observed_at_path,workflow_id,organization_id,external_connector_id,credential_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/workflow_triggers"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a workflow_trigger",
                      "items": {
                        "$ref": "#/components/schemas/workflow_trigger"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List workflow triggers",
        "tags": [
          "Workflows"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "guides/list-workflows"
          ],
          "resource": "workflow_trigger",
          "resourceGroup": "workflows",
          "resourceGroupLabel": "Workflows",
          "resourceLabel": "Workflow trigger",
          "resourcePlural": "Workflow triggers",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/workflow_triggers/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one workflow trigger visible to the authenticated service account.",
        "operationId": "retrieveWorkflowTrigger",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "workflow_trigger": "id,name,type,trigger_config,observed_at_path,workflow_id,organization_id,external_connector_id,credential_id"
              },
              "properties": {
                "workflow_trigger": {
                  "description": "Comma separated field names for workflow_trigger",
                  "example": "id,name,type,trigger_config,observed_at_path,workflow_id,organization_id,external_connector_id,credential_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "workflow_trigger"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/workflow_trigger"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a workflow trigger",
        "tags": [
          "Workflows"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "guides/list-workflows"
          ],
          "resource": "workflow_trigger",
          "resourceGroup": "workflows",
          "resourceGroupLabel": "Workflows",
          "resourceLabel": "Workflow trigger",
          "resourcePlural": "Workflow triggers",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/workflows": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "List workflows visible to the authenticated service account.",
        "operationId": "listWorkflows",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filters the query to results with attributes matching the given filter object",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/workflow-filter"
            },
            "style": "deepObject"
          },
          {
            "description": "Sort order to apply to the results",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "pattern": "^(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|description|-description|\\+\\+description|--description|is_active|-is_active|\\+\\+is_active|--is_active|published_at|-published_at|\\+\\+published_at|--published_at|group_id|-group_id|\\+\\+group_id|--group_id|version_number|-version_number|\\+\\+version_number|--version_number|context_semantics_version|-context_semantics_version|\\+\\+context_semantics_version|--context_semantics_version|type|-type|\\+\\+type|--type|schema_status|-schema_status|\\+\\+schema_status|--schema_status|organization_id|-organization_id|\\+\\+organization_id|--organization_id)(,(id|-id|\\+\\+id|--id|name|-name|\\+\\+name|--name|description|-description|\\+\\+description|--description|is_active|-is_active|\\+\\+is_active|--is_active|published_at|-published_at|\\+\\+published_at|--published_at|group_id|-group_id|\\+\\+group_id|--group_id|version_number|-version_number|\\+\\+version_number|--version_number|context_semantics_version|-context_semantics_version|\\+\\+context_semantics_version|--context_semantics_version|type|-type|\\+\\+type|--type|schema_status|-schema_status|\\+\\+schema_status|--schema_status|organization_id|-organization_id|\\+\\+organization_id|--organization_id))*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Paginates the response with the limit and offset or keyset pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "example": {
                "limit": 25
              },
              "properties": {
                "after": {
                  "type": "string"
                },
                "before": {
                  "type": "string"
                },
                "count": {
                  "default": false,
                  "type": "boolean"
                },
                "limit": {
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "workflow": "id,name,description,is_active,published_at,group_id,version_number,context_semantics_version,type,data_schema,schema_status,organization_id"
              },
              "properties": {
                "workflow": {
                  "description": "Comma separated field names for workflow",
                  "example": "id,name,description,is_active,published_at,group_id,version_number,context_semantics_version,type,data_schema,schema_status,organization_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": [],
                  "jsonapi": {
                    "version": "1.0"
                  },
                  "links": {
                    "self": "/api/json/v1/workflows"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "description": "An array of resource objects representing a workflow",
                      "items": {
                        "$ref": "#/components/schemas/workflow"
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List workflows",
        "tags": [
          "Workflows"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "guides/list-workflows"
          ],
          "resource": "workflow",
          "resourceGroup": "workflows",
          "resourceGroupLabel": "Workflows",
          "resourceLabel": "Workflow",
          "resourcePlural": "Workflows",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/workflows/save_builder_state": {
      "post": {
        "callbacks": {},
        "deprecated": false,
        "description": "Atomically save a workflow definition together with its steps, triggers, and mappings.",
        "operationId": "saveWorkflowBuilderState",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "description": "Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409.",
            "example": "workflow-save-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "Primary request or response document data.",
                    "properties": {
                      "is_new_version": {
                        "description": "Is new version accepted by this operation.",
                        "type": "boolean"
                      },
                      "organization_id": {
                        "description": "Organization that owns the resource.",
                        "format": "uuid",
                        "type": "string"
                      },
                      "step_params": {
                        "description": "Step params accepted by this operation.",
                        "items": {
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "trigger_params": {
                        "description": "Trigger params accepted by this operation.",
                        "items": {
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "wf_params": {
                        "description": "Wf params accepted by this operation.",
                        "type": "object"
                      },
                      "workflow_id": {
                        "anyOf": [
                          {
                            "format": "uuid",
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "description": "Workflow that owns or produced the resource."
                      }
                    },
                    "required": [
                      "organization_id",
                      "wf_params",
                      "step_params",
                      "trigger_params",
                      "is_new_version"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            }
          },
          "description": "Request body for the /workflows/save_builder_state operation on workflow resource",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "workflow"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "409": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "idempotency_key_reused",
                      "detail": "The key was previously used for a different request.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "409"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The key was previously used for a different request."
          },
          "422": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "invalid_request",
                      "detail": "The request document failed resource validation.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "422"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request document failed resource validation."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Save workflow builder state",
        "tags": [
          "Workflows"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "idempotency_key_reused",
              "description": "The key was previously used for a different request.",
              "retryable": false,
              "status": 409
            },
            {
              "code": "invalid_request",
              "description": "The request document failed resource validation.",
              "retryable": false,
              "status": 422
            }
          ],
          "idempotency": "supported",
          "relatedGuides": [
            "platform/json-api",
            "guides/list-workflows",
            "guides/idempotent-write"
          ],
          "resource": "workflow",
          "resourceGroup": "workflows",
          "resourceGroupLabel": "Workflows",
          "resourceLabel": "Workflow",
          "resourcePlural": "Workflows",
          "scope": "api_write",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/workflows/{id}": {
      "get": {
        "callbacks": {},
        "deprecated": false,
        "description": "Retrieve one workflow visible to the authenticated service account.",
        "operationId": "retrieveWorkflow",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "workflow": "id,name,description,is_active,published_at,group_id,version_number,context_semantics_version,type,data_schema,schema_status,organization_id"
              },
              "properties": {
                "workflow": {
                  "description": "Comma separated field names for workflow",
                  "example": "id,name,description,is_active,published_at,group_id,version_number,context_semantics_version,type,data_schema,schema_status,organization_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "workflow"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/workflow"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a workflow",
        "tags": [
          "Workflows"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "platform/json-api",
            "guides/list-workflows"
          ],
          "resource": "workflow",
          "resourceGroup": "workflows",
          "resourceGroupLabel": "Workflows",
          "resourceLabel": "Workflow",
          "resourcePlural": "Workflows",
          "scope": "api_read",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/workflows/{id}/activate": {
      "patch": {
        "callbacks": {},
        "deprecated": false,
        "description": "Activate a validated workflow version and deactivate its active siblings.",
        "operationId": "activateWorkflow",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "workflow": "id,name,description,is_active,published_at,group_id,version_number,context_semantics_version,type,data_schema,schema_status,organization_id"
              },
              "properties": {
                "workflow": {
                  "description": "Comma separated field names for workflow",
                  "example": "id,name,description,is_active,published_at,group_id,version_number,context_semantics_version,type,data_schema,schema_status,organization_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409.",
            "example": "workflow-save-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "Primary request or response document data.",
                    "properties": {
                      "attributes": {
                        "additionalProperties": false,
                        "description": "Public resource attributes.",
                        "properties": {},
                        "type": "object"
                      },
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "relationships": {
                        "additionalProperties": false,
                        "description": "JSON:API relationship linkage.",
                        "properties": {},
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "enum": [
                          "workflow"
                        ]
                      }
                    },
                    "required": [
                      "id"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            }
          },
          "description": "Request body for the /workflows/:id/activate operation on workflow resource",
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "workflow"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/workflow"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "409": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "idempotency_key_reused",
                      "detail": "The key was previously used for a different request.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "409"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The key was previously used for a different request."
          },
          "422": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "invalid_request",
                      "detail": "The request document failed resource validation.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "422"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request document failed resource validation."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Activate a workflow",
        "tags": [
          "Workflows"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            },
            {
              "code": "idempotency_key_reused",
              "description": "The key was previously used for a different request.",
              "retryable": false,
              "status": 409
            },
            {
              "code": "invalid_request",
              "description": "The request document failed resource validation.",
              "retryable": false,
              "status": 422
            }
          ],
          "idempotency": "supported",
          "relatedGuides": [
            "platform/json-api",
            "guides/list-workflows",
            "guides/idempotent-write"
          ],
          "resource": "workflow",
          "resourceGroup": "workflows",
          "resourceGroupLabel": "Workflows",
          "resourceLabel": "Workflow",
          "resourcePlural": "Workflows",
          "scope": "api_write",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/json/v1/workflows/{id}/deactivate": {
      "patch": {
        "callbacks": {},
        "deprecated": false,
        "description": "Stop a workflow version from accepting new work.",
        "operationId": "deactivateWorkflow",
        "parameters": [
          {
            "description": "JSON:API response media type.",
            "example": "application/vnd.api+json",
            "in": "header",
            "name": "Accept",
            "required": true,
            "schema": {
              "enum": [
                "application/vnd.api+json"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Relationship paths to include in the response",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "pattern": "^()(,())*$",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Limits the response fields to only those listed for each type",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "additionalProperties": true,
              "example": {
                "workflow": "id,name,description,is_active,published_at,group_id,version_number,context_semantics_version,type,data_schema,schema_status,organization_id"
              },
              "properties": {
                "workflow": {
                  "description": "Comma separated field names for workflow",
                  "example": "id,name,description,is_active,published_at,group_id,version_number,context_semantics_version,type,data_schema,schema_status,organization_id",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Makes an unsafe request replay-safe for the configured retention window (24 hours by default). Reusing a key with different request parameters returns 409.",
            "example": "workflow-save-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "data": {
                    "additionalProperties": false,
                    "description": "Primary request or response document data.",
                    "properties": {
                      "attributes": {
                        "additionalProperties": false,
                        "description": "Public resource attributes.",
                        "properties": {},
                        "type": "object"
                      },
                      "id": {
                        "description": "Stable resource identifier.",
                        "type": "string"
                      },
                      "relationships": {
                        "additionalProperties": false,
                        "description": "JSON:API relationship linkage.",
                        "properties": {},
                        "type": "object"
                      },
                      "type": {
                        "description": "JSON:API resource type.",
                        "enum": [
                          "workflow"
                        ]
                      }
                    },
                    "required": [
                      "id"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            }
          },
          "description": "Request body for the /workflows/:id/deactivate operation on workflow resource",
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "data": {
                    "attributes": {},
                    "id": "00000000-0000-4000-8000-000000000001",
                    "type": "workflow"
                  },
                  "jsonapi": {
                    "version": "1.0"
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/workflow"
                    },
                    "included": {
                      "items": {
                        "oneOf": []
                      },
                      "type": "array",
                      "uniqueItems": true
                    },
                    "meta": {
                      "additionalProperties": true,
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "unauthorized",
                      "detail": "A valid bearer token is required.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "401"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "A valid bearer token is required."
          },
          "403": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "forbidden",
                      "detail": "The service account lacks the required scope or object access.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "403"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The service account lacks the required scope or object access."
          },
          "404": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "not_found",
                      "detail": "The resource was not found or is not visible to the run-as member.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "404"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The resource was not found or is not visible to the run-as member."
          },
          "409": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "idempotency_key_reused",
                      "detail": "The key was previously used for a different request.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "409"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The key was previously used for a different request."
          },
          "422": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "invalid_request",
                      "detail": "The request document failed resource validation.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "422"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request document failed resource validation."
          },
          "429": {
            "content": {
              "application/vnd.api+json": {
                "example": {
                  "errors": [
                    {
                      "code": "rate_limited",
                      "detail": "The request exceeded its rate window; wait for Retry-After.",
                      "meta": {
                        "correlation_id": "req_example"
                      },
                      "status": "429"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/HodoflowErrorDocument"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After."
          },
          "default": {
            "$ref": "#/components/responses/errors"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Deactivate a workflow",
        "tags": [
          "Workflows"
        ],
        "x-hodoflow": {
          "authentication": "Bearer token",
          "errors": [
            {
              "code": "unauthorized",
              "description": "A valid bearer token is required.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "forbidden",
              "description": "The service account lacks the required scope or object access.",
              "retryable": false,
              "status": 403
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            },
            {
              "code": "not_found",
              "description": "The resource was not found or is not visible to the run-as member.",
              "retryable": false,
              "status": 404
            },
            {
              "code": "idempotency_key_reused",
              "description": "The key was previously used for a different request.",
              "retryable": false,
              "status": 409
            },
            {
              "code": "invalid_request",
              "description": "The request document failed resource validation.",
              "retryable": false,
              "status": 422
            }
          ],
          "idempotency": "supported",
          "relatedGuides": [
            "platform/json-api",
            "guides/list-workflows",
            "guides/idempotent-write"
          ],
          "resource": "workflow",
          "resourceGroup": "workflows",
          "resourceGroupLabel": "Workflows",
          "resourceLabel": "Workflow",
          "resourcePlural": "Workflows",
          "scope": "api_write",
          "stability": "stable",
          "surface": "JSON:API",
          "surfaceKey": "json-api",
          "version": "v1"
        }
      }
    },
    "/api/v1/oauth/token": {
      "post": {
        "description": "Exchange an active service account's client credentials for a short-lived bearer token. No refresh token is issued.",
        "operationId": "exchangeServiceAccountToken",
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "client_id": "cid_example",
                "client_secret": "<client-secret>",
                "grant_type": "client_credentials"
              },
              "schema": {
                "$ref": "#/components/schemas/TokenRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "access_token": "<redacted JWT>",
                  "expires_in": 900,
                  "token_type": "bearer"
                },
                "schema": {
                  "$ref": "#/components/schemas/TokenResponse"
                }
              }
            },
            "description": "A short-lived bearer token.",
            "headers": {
              "x-request-id": {
                "description": "Correlation identifier for support and logs.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "error": "unsupported_grant_type"
                }
              }
            },
            "description": "grant_type must be client_credentials.",
            "headers": {
              "x-request-id": {
                "description": "Correlation identifier for support and logs.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "error": "invalid_client"
                }
              }
            },
            "description": "The credentials are missing, inactive, revoked, or invalid.",
            "headers": {
              "x-request-id": {
                "description": "Correlation identifier for support and logs.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "error": "rate_limited"
                }
              }
            },
            "description": "The request exceeded its rate window; wait for Retry-After.",
            "headers": {
              "Retry-After": {
                "description": "Seconds to wait before retrying.",
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              },
              "x-request-id": {
                "description": "Correlation identifier for support and logs.",
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [],
        "summary": "Exchange service-account credentials",
        "tags": [
          "Authentication"
        ],
        "x-hodoflow": {
          "authentication": "OAuth2 client credentials",
          "errors": [
            {
              "code": "unsupported_grant_type",
              "description": "grant_type must be client_credentials.",
              "retryable": false,
              "status": 400
            },
            {
              "code": "invalid_client",
              "description": "The credentials are missing, inactive, revoked, or invalid.",
              "retryable": false,
              "status": 401
            },
            {
              "code": "rate_limited",
              "description": "The request exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429
            }
          ],
          "idempotency": "not-applicable",
          "relatedGuides": [
            "get-started/first-api-request",
            "authentication/token-exchange"
          ],
          "resource": "token",
          "resourceGroup": "authentication",
          "resourceGroupLabel": "Authentication",
          "resourceLabel": "Access token",
          "resourcePlural": "Access tokens",
          "scope": "none (the resulting token carries the service account's scopes)",
          "stability": "stable",
          "surface": "Authentication",
          "surfaceKey": "authentication",
          "version": "v1"
        }
      }
    },
    "/api/v1/webhooks/{token}": {
      "post": {
        "description": "Authenticate an inbound delivery, deduplicate it by a stable delivery key, and enqueue the selected active workflow. A 202 response means accepted, not completed.",
        "operationId": "ingestWebhookDelivery",
        "parameters": [
          {
            "description": "Opaque token from the active webhook trigger URL.",
            "example": "<trigger-token>",
            "in": "path",
            "name": "token",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Stable sender delivery identifier. Repeated deliveries are acknowledged as duplicate during the seven-day retention window.",
            "example": "delivery-20260731-001",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "event": "order.created",
                "order_id": "ord_123"
              },
              "schema": {
                "additionalProperties": true,
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "example": {
                  "status": "accepted",
                  "workflow_run_id": "00000000-0000-4000-8000-000000000001"
                },
                "schema": {
                  "$ref": "#/components/schemas/WebhookAccepted"
                }
              }
            },
            "description": "The delivery was accepted or recognized as a duplicate.",
            "headers": {
              "x-request-id": {
                "description": "Correlation identifier for support and logs.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "missing_credentials": {
                    "summary": "The bearer token is missing, invalid, or expired.",
                    "value": {
                      "error": "missing_credentials"
                    }
                  },
                  "unauthorized": {
                    "summary": "The selected service account, organization, or connector authentication is invalid.",
                    "value": {
                      "error": "Unauthorized"
                    }
                  }
                }
              }
            },
            "description": "The bearer token is missing, invalid, or expired. The selected service account, organization, or connector authentication is invalid.",
            "headers": {
              "x-request-id": {
                "description": "Correlation identifier for support and logs.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "error": "Insufficient scope"
                }
              }
            },
            "description": "The selected service account lacks the webhooks scope.",
            "headers": {
              "x-request-id": {
                "description": "Correlation identifier for support and logs.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "error": "Trigger not found"
                }
              }
            },
            "description": "The active trigger was not found.",
            "headers": {
              "x-request-id": {
                "description": "Correlation identifier for support and logs.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "example": {
                  "error": "Request body too large"
                }
              }
            },
            "description": "The body exceeds the configured limit (1 MiB by default).",
            "headers": {
              "x-request-id": {
                "description": "Correlation identifier for support and logs.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "content": {
              "application/json": {
                "examples": {
                  "processing_failed": {
                    "summary": "The delivery failed stable workflow or payload validation.",
                    "value": {
                      "error": "Processing failed"
                    }
                  },
                  "unsupported_trigger_authentication": {
                    "summary": "The trigger uses a connector authentication mode that conflicts with bearer authentication.",
                    "value": {
                      "error": "Unsupported trigger authentication"
                    }
                  }
                }
              }
            },
            "description": "The delivery failed stable workflow or payload validation. The trigger uses a connector authentication mode that conflicts with bearer authentication.",
            "headers": {
              "x-request-id": {
                "description": "Correlation identifier for support and logs.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "error": "Rate limit exceeded"
                }
              }
            },
            "description": "The delivery exceeded its rate window; wait for Retry-After.",
            "headers": {
              "Retry-After": {
                "description": "Seconds to wait before retrying.",
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              },
              "x-request-id": {
                "description": "Correlation identifier for support and logs.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "error": "Processing temporarily unavailable"
                }
              }
            },
            "description": "A transient processing dependency failed; retry after Retry-After.",
            "headers": {
              "Retry-After": {
                "description": "Seconds to wait before retrying.",
                "schema": {
                  "minimum": 1,
                  "type": "integer"
                }
              },
              "x-request-id": {
                "description": "Correlation identifier for support and logs.",
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Ingest a webhook delivery",
        "tags": [
          "Webhook ingestion"
        ],
        "x-hodoflow": {
          "authentication": "Selected service-account bearer token; optional API-key or HMAC sender verification",
          "errors": [
            {
              "code": "missing_credentials",
              "description": "The bearer token is missing, invalid, or expired.",
              "retryable": false,
              "status": 401,
              "wireValue": "missing_credentials"
            },
            {
              "code": "unauthorized",
              "description": "The selected service account, organization, or connector authentication is invalid.",
              "retryable": false,
              "status": 401,
              "wireValue": "Unauthorized"
            },
            {
              "code": "insufficient_scope",
              "description": "The selected service account lacks the webhooks scope.",
              "retryable": false,
              "status": 403,
              "wireValue": "Insufficient scope"
            },
            {
              "code": "not_found",
              "description": "The active trigger was not found.",
              "retryable": false,
              "status": 404,
              "wireValue": "Trigger not found"
            },
            {
              "code": "payload_too_large",
              "description": "The body exceeds the configured limit (1 MiB by default).",
              "retryable": false,
              "status": 413,
              "wireValue": "Request body too large"
            },
            {
              "code": "rate_limited",
              "description": "The delivery exceeded its rate window; wait for Retry-After.",
              "retryable": true,
              "status": 429,
              "wireValue": "Rate limit exceeded"
            },
            {
              "code": "processing_failed",
              "description": "The delivery failed stable workflow or payload validation.",
              "retryable": false,
              "status": 422,
              "wireValue": "Processing failed"
            },
            {
              "code": "unsupported_trigger_authentication",
              "description": "The trigger uses a connector authentication mode that conflicts with bearer authentication.",
              "retryable": false,
              "status": 422,
              "wireValue": "Unsupported trigger authentication"
            },
            {
              "code": "temporarily_unavailable",
              "description": "A transient processing dependency failed; retry after Retry-After.",
              "retryable": true,
              "status": 503,
              "wireValue": "Processing temporarily unavailable"
            }
          ],
          "idempotency": "seven-day delivery deduplication",
          "relatedGuides": [
            "webhook-ingestion/first-delivery",
            "webhook-ingestion/retries-troubleshooting"
          ],
          "resource": "webhook_delivery",
          "resourceGroup": "webhook-ingestion",
          "resourceGroupLabel": "Webhook ingestion",
          "resourceLabel": "Webhook delivery",
          "resourcePlural": "Webhook deliveries",
          "scope": "webhooks",
          "stability": "stable",
          "surface": "Webhook ingestion",
          "surfaceKey": "webhooks",
          "version": "v1"
        }
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "servers": [
    {
      "url": "https://hodoflow.com"
    }
  ],
  "tags": [
    {
      "description": "Exchange service-account credentials for short-lived bearer tokens.",
      "name": "Authentication",
      "x-displayName": "Authentication",
      "x-order": 10,
      "x-resource-group": "authentication"
    },
    {
      "description": "Inspect workflow definitions, authored steps, triggers, and mappings.",
      "name": "Workflows",
      "x-displayName": "Workflows",
      "x-order": 20,
      "x-resource-group": "workflows"
    },
    {
      "description": "Follow workflow runs and inspect their per-step outcomes.",
      "name": "Runs and monitoring",
      "x-displayName": "Runs and monitoring",
      "x-order": 30,
      "x-resource-group": "runs-monitoring"
    },
    {
      "description": "Manage logical warehouse schemas and their fields.",
      "name": "Data models",
      "x-displayName": "Data models",
      "x-order": 40,
      "x-resource-group": "data-models"
    },
    {
      "description": "Manage dashboards, widgets, and widget placements.",
      "name": "Dashboards",
      "x-displayName": "Dashboards",
      "x-order": 50,
      "x-resource-group": "dashboards"
    },
    {
      "description": "Inspect connectors, API specifications, and delivery failures.",
      "name": "Integrations",
      "x-displayName": "Integrations",
      "x-order": 60,
      "x-resource-group": "integrations"
    },
    {
      "description": "Read users, organizations, memberships, and service-account metadata.",
      "name": "Account and organization",
      "x-displayName": "Account and organization",
      "x-order": 70,
      "x-resource-group": "account-organization"
    },
    {
      "description": "Accept an inbound delivery and enqueue an active workflow run.",
      "name": "Webhook ingestion",
      "x-displayName": "Webhook ingestion",
      "x-order": 80,
      "x-resource-group": "webhook-ingestion"
    }
  ]
}
