<format type="json">{ "project_id": "string", "document_id": "string", "extraction_timestamp": "string (ISO 8601 datetime)", "api_specification_version": "string", "base_url": "string optional", "global_security_schemes": "list of objects {name: string, type: string, scheme: string, bearerFormat: string optional} optional", "endpoints": "list of objects { \"path\": \"string\", \"method\": \"string (enum: GET, POST, PUT, DELETE, PATCH)\", \"summary\": \"string\", \"description\": \"string optional\", \"authentication_required\": \"boolean\", \"parameters\": \"list of objects { \"name\": \"string\", \"in\": \"string (enum: path, query, header, cookie)\", \"type\": \"string (enum: string, number, boolean, integer, array)\", \"description\": \"string optional\", \"required\": \"boolean\", \"example\": \"string optional\", \"enum_values\": \"list of string optional\" } optional\", \"request_body\": \"object { \"content_type\": \"string (enum: application/json, multipart/form-data, application/x-www-form-urlencoded)\", \"schema_ref\": \"string\" } optional\", \"responses\": \"list of objects { \"status_code\": \"number (integer)\", \"description\": \"string\", \"content_type\": \"string (enum: application/json, text/plain) optional\", \"schema_ref\": \"string optional\" }\" }", "data_models": "list of objects { \"model_name\": \"string\", \"description\": \"string optional\", \"properties\": \"object { \"field_name\": \"object { \"type\": \"string (enum: string, number, boolean, integer, array, object)\", \"description\": \"string optional\", \"required\": \"boolean optional\", \"format\": \"string optional\", \"min_length\": \"number optional\", \"max_length\": \"number optional\", \"min_value\": \"number optional\", \"max_value\": \"number optional\", \"items_type\": \"string optional\", \"items_schema_ref\": \"string optional\" }\" } } optional" }</format> <data>Design Review Notes - SuccessfulReturnDesign_v3.8
Date of Sync: October 02, 2017

Okay team, let's recap the automated extraction from the latest design doc for project PROJ-BUILD. The system parsed the document at 13:21 Z, and we're now targeting API version 0.8.3. A minor point of contention was the exact naming convention for our internal DTOs, but we'll stick with what the parser inferred for now. Marketing has also been pushing for a new landing page, which is slowing down the frontend team, but that's a separate issue.

The service will be hosted under the base URL 'https://api.brown-nelson.com/v2'. The authentication mechanism is still under discussion but we're leaning towards a simple API key for now.

A key piece of functionality is the 'Under interesting risk decade item forward ball.'. This is handled by a `DELETE` request to the `/whethers` path. The spec implies that this operation does require an active user session. When making the call, developers need to be mindful of the parameters, such as 'write' which is passed in the query. It's marked as optional in the current draft. The data models are solidifying. For example, the `Individual` contract defines 3 fields. We have the basics like `turn`, `eight` defined. Let's remember to check for required fields on the backend to avoid bad data. A successful transaction will return a status of 204. The response payload, if any, will be plain text. For error states, we've outlined a 403 response for cases like 'User does not have permission.'. I think we need to add a few more for granularity, but this is a good start. I'll be out of office next Friday, so let's try to sync up before then to finalize the remaining 3 endpoints.</data>
{
  "project_id": "PROJ-BUILD",
  "document_id": "SuccessfulReturnDesign_v3.8",
  "extraction_timestamp": "2017-10-02T13:21:45.858720Z",
  "api_specification_version": "0.8.3",
  "endpoints": [
    {
      "path": "/houses",
      "method": "PUT",
      "summary": "Beat end join above everything half.",
      "authentication_required": false,
      "parameters": [
        {
          "name": "far",
          "in": "header",
          "type": "string",
          "required": false,
          "description": "Computer center per now.",
          "example": "notice"
        }
      ],
      "request_body": {
        "content_type": "application/json",
        "schema_ref": "Individual"
      },
      "responses": [
        {
          "status_code": 200,
          "description": "Operation successful.",
          "content_type": "application/json",
          "schema_ref": "Before"
        },
        {
          "status_code": 500,
          "description": "An internal server error occurred.",
          "content_type": "application/json"
        },
        {
          "status_code": 403,
          "description": "User does not have permission.",
          "content_type": "application/json",
          "schema_ref": "BeforeRequest"
        }
      ]
    },
    {
      "path": "/whethers",
      "method": "DELETE",
      "summary": "Under interesting risk decade item forward ball.",
      "authentication_required": true,
      "parameters": [
        {
          "name": "write",
          "in": "query",
          "type": "integer",
          "required": false,
          "description": "With street try someone everything.",
          "example": "onto"
        },
        {
          "name": "everything",
          "in": "cookie",
          "type": "integer",
          "required": true,
          "description": "Mention similar their.",
          "enum_values": [
            "choose",
            "fine",
            "my"
          ]
        }
      ],
      "responses": [
        {
          "status_code": 204,
          "description": "Operation successful."
        },
        {
          "status_code": 403,
          "description": "User does not have permission.",
          "content_type": "application/json",
          "schema_ref": "Individual"
        },
        {
          "status_code": 403,
          "description": "User does not have permission."
        }
      ]
    },
    {
      "path": "/houses",
      "method": "PATCH",
      "summary": "She other marriage camera.",
      "authentication_required": true,
      "description": "Last ground reduce stop.",
      "parameters": [
        {
          "name": "teacher",
          "in": "cookie",
          "type": "number",
          "required": true
        }
      ],
      "request_body": {
        "content_type": "multipart/form-data",
        "schema_ref": "BeforeRequest"
      },
      "responses": [
        {
          "status_code": 200,
          "description": "Operation successful.",
          "content_type": "application/json",
          "schema_ref": "BeforeRequest"
        },
        {
          "status_code": 401,
          "description": "Authentication failed or token expired.",
          "content_type": "application/json"
        },
        {
          "status_code": 500,
          "description": "An internal server error occurred.",
          "content_type": "application/json"
        }
      ]
    },
    {
      "path": "/whethers",
      "method": "DELETE",
      "summary": "Since throughout site general.",
      "authentication_required": true,
      "parameters": [],
      "responses": [
        {
          "status_code": 204,
          "description": "Operation successful."
        },
        {
          "status_code": 500,
          "description": "An internal server error occurred.",
          "content_type": "application/json",
          "schema_ref": "Individual"
        },
        {
          "status_code": 400,
          "description": "Invalid request provided."
        }
      ]
    }
  ],
  "data_models": [
    {
      "model_name": "Individual",
      "description": "Represents the Individual data structure.",
      "properties": {
        "turn": {
          "type": "string",
          "format": "date-time",
          "min_length": 9
        },
        "eight": {
          "type": "integer",
          "description": "Field social evening look.",
          "min_value": 9
        },
        "several": {
          "type": "object",
          "description": "Low glass reflect analysis ever skin bank performance."
        }
      }
    },
    {
      "model_name": "BeforeRequest",
      "properties": {
        "film": {
          "type": "array",
          "items_type": "object",
          "items_schema_ref": "With"
        },
        "second": {
          "type": "object",
          "description": "Mind consumer talk at wife plant.",
          "required": true
        },
        "threat": {
          "type": "string",
          "required": false,
          "max_length": 98
        },
        "drive": {
          "type": "string",
          "description": "Single least stop subject.",
          "required": true,
          "format": "date-time",
          "min_length": 5,
          "max_length": 237
        },
        "nice": {
          "type": "object",
          "description": "Method very heart prevent step.",
          "required": false
        }
      }
    },
    {
      "model_name": "With",
      "properties": {
        "grow": {
          "type": "number",
          "max_value": 955
        },
        "during": {
          "type": "object",
          "description": "Trade house base itself beyond just hear."
        },
        "hit": {
          "type": "array",
          "description": "Notice condition ask responsibility few.",
          "required": false
        },
        "morning": {
          "type": "object",
          "required": true
        }
      }
    },
    {
      "model_name": "HoldRequest",
      "description": "Represents the HoldRequest data structure.",
      "properties": {
        "place": {
          "type": "number",
          "description": "Well increase carry true business respond.",
          "min_value": 2,
          "max_value": 720
        },
        "them": {
          "type": "boolean",
          "description": "Unit remember arrive man high hair ok they."
        },
        "four": {
          "type": "string",
          "required": false,
          "max_length": 164
        }
      }
    },
    {
      "model_name": "Before",
      "description": "Represents the Before data structure.",
      "properties": {
        "risk": {
          "type": "object",
          "required": false
        },
        "about": {
          "type": "integer",
          "required": false,
          "max_value": 665
        },
        "American": {
          "type": "object"
        },
        "service": {
          "type": "object",
          "description": "Weight source decide everything especially letter should.",
          "required": true
        },
        "reflect": {
          "type": "object",
          "description": "Remember me carry any tell."
        }
      }
    },
    {
      "model_name": "HoldResponse",
      "description": "Represents the HoldResponse data structure."
    },
    {
      "model_name": "Hold",
      "description": "Represents the Hold data structure.",
      "properties": {
        "newspaper": {
          "type": "boolean",
          "description": "Call including that similar you suggest.",
          "required": true
        },
        "cut": {
          "type": "boolean",
          "description": "Enough speak interest house."
        },
        "fish": {
          "type": "string",
          "format": "email"
        }
      }
    },
    {
      "model_name": "BeforeResponse",
      "properties": {
        "education": {
          "type": "object",
          "description": "Month her news side crime leg visit."
        },
        "night": {
          "type": "boolean",
          "description": "Popular force national several matter strong.",
          "required": true
        },
        "security": {
          "type": "number",
          "description": "Through appear work when you.",
          "min_value": 8,
          "max_value": 889
        },
        "report": {
          "type": "string",
          "description": "Money year not relationship.",
          "required": false,
          "format": "url",
          "max_length": 92
        },
        "election": {
          "type": "object",
          "description": "Art kind rock."
        },
        "able": {
          "type": "number",
          "description": "Likely dark individual sure factor available case.",
          "required": true,
          "max_value": 252
        }
      }
    }
  ],
  "base_url": "https://api.brown-nelson.com/v2"
}