{
  "api_style": "MINIMAL_API",
  "endpoints": [
    {
      "endpoint_id": "GetOrder",
      "http_method": "GET",
      "route_template": "/orders/{id:int}",
      "openapi_path": "/orders/{id}",
      "request_schema_ref": "NONE",
      "request_content_type": null,
      "response_schema_ref": "Order",
      "status_code_contract": [
        200,
        401,
        403,
        404,
        500
      ],
      "validation_rule": "INTEGER_ROUTE_CONSTRAINT",
      "authentication_state": "TEST_IDENTITY_ONLY",
      "authorization_policy": "Orders.Read",
      "problem_details_state": "SAFE_TYPED_ERRORS",
      "idempotency_expectation": "READ_ONLY",
      "dependency_boundary": "IN_MEMORY_STORE"
    },
    {
      "endpoint_id": "CreateOrder",
      "http_method": "POST",
      "route_template": "/orders",
      "openapi_path": "/orders",
      "request_schema_ref": "CreateOrder",
      "request_content_type": "application/json",
      "response_schema_ref": "Order",
      "status_code_contract": [
        201,
        400,
        401,
        403,
        409,
        415,
        422,
        500
      ],
      "validation_rule": "STRICT_SHAPE_THEN_DOMAIN_422",
      "authentication_state": "TEST_IDENTITY_ONLY",
      "authorization_policy": "Orders.Write",
      "problem_details_state": "SAFE_TYPED_ERRORS",
      "idempotency_expectation": "ACTOR_METHOD_ROUTE_KEY_PLUS_BODY",
      "dependency_boundary": "SYNTHETIC_STORE_BEFORE_COMMIT"
    }
  ],
  "pipeline_order": [
    "EXCEPTION_HANDLER",
    "ROUTING",
    "AUTHENTICATION",
    "AUTHORIZATION",
    "BINDING",
    "VALIDATION",
    "HANDLER"
  ],
  "schemas": {
    "CreateOrder": {
      "type": "object",
      "required": [
        "customerReference",
        "quantity"
      ],
      "additionalProperties": false,
      "properties": {
        "customerReference": {
          "type": "string",
          "minLength": 1,
          "maxLength": 40
        },
        "quantity": {
          "type": "integer",
          "minimum": 1,
          "maximum": 20
        }
      }
    },
    "PatchOrder": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "quantity": {
          "type": "integer",
          "minimum": 1,
          "maximum": 20
        }
      }
    },
    "Order": {
      "type": "object",
      "required": [
        "id",
        "customerReference",
        "quantity"
      ],
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "integer"
        },
        "customerReference": {
          "type": "string"
        },
        "quantity": {
          "type": "integer"
        }
      }
    },
    "Problem": {
      "type": "object",
      "required": [
        "type",
        "title",
        "status",
        "instance",
        "traceId"
      ],
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": "string",
          "format": "uri"
        },
        "title": {
          "type": "string"
        },
        "status": {
          "type": "integer"
        },
        "instance": {
          "type": "string",
          "format": "uri"
        },
        "traceId": {
          "type": "string"
        }
      }
    }
  },
  "idempotency_mechanism": "PROCESS_LOCKED_MAP",
  "idempotency_retention": "PROCESS_LIFETIME_ONLY",
  "configuration_profile": "TEST_NO_REDIRECTS_JSON_ACCEPT",
  "dependency_timeout_ms": null,
  "patch_semantics": "NOT_IN_BASELINE",
  "dependency_timeout_policy": "NOT_IN_BASELINE"
}
