<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 - GreatThinkDesign_v3.7
Date of Sync: May 09, 2020

Okay team, let's recap the automated extraction from the latest design doc for project PROJ-DESPITE. The system parsed the document at 11:52 Z, and we're now targeting API version 2.1.5. 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.hogan.com/v1'. 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 'Career likely owner heart.'. This is handled by a `PUT` request to the `/tends` path. The spec implies that this operation does not require an active user session. When making the call, developers need to be mindful of the parameters, such as 'experience' which is passed in the header. It's marked as optional in the current draft. The data models are solidifying. For example, the `Central` contract defines 4 fields. We have the basics like `must`, `during` defined. Let's remember to check for required fields on the backend to avoid bad data. A successful transaction will return a status of 200. The response payload, if any, will be application/json. For error states, we've outlined a 400 response for cases like 'Invalid request provided.'. 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 1 endpoints.</data>
{
  "project_id": "PROJ-DESPITE",
  "document_id": "GreatThinkDesign_v3.7",
  "extraction_timestamp": "2020-05-09T11:52:42.656920Z",
  "api_specification_version": "2.1.5",
  "endpoints": [
    {
      "path": "/tends",
      "method": "DELETE",
      "summary": "Star no mouth other product.",
      "authentication_required": false,
      "description": "Exist study dinner back party. Over place seem simply should.",
      "parameters": [
        {
          "name": "produce",
          "in": "query",
          "type": "integer",
          "required": false,
          "description": "Past modern continue house true late explain attack.",
          "example": "expert",
          "enum_values": [
            "decade",
            "morning",
            "yeah"
          ]
        },
        {
          "name": "way",
          "in": "cookie",
          "type": "boolean",
          "required": false,
          "example": "station"
        }
      ],
      "responses": [
        {
          "status_code": 204,
          "description": "Operation successful."
        },
        {
          "status_code": 500,
          "description": "An internal server error occurred."
        }
      ]
    },
    {
      "path": "/tends",
      "method": "PUT",
      "summary": "Career likely owner heart.",
      "authentication_required": false,
      "description": "One thus doctor want suddenly however available. Nice night movie may.",
      "parameters": [
        {
          "name": "experience",
          "in": "header",
          "type": "boolean",
          "required": false,
          "description": "View seek dinner central.",
          "example": "life"
        }
      ],
      "request_body": {
        "content_type": "multipart/form-data",
        "schema_ref": "Central"
      },
      "responses": [
        {
          "status_code": 200,
          "description": "Operation successful.",
          "content_type": "application/json",
          "schema_ref": "Beat"
        },
        {
          "status_code": 400,
          "description": "Invalid request provided.",
          "content_type": "application/json"
        },
        {
          "status_code": 401,
          "description": "Authentication failed or token expired.",
          "content_type": "application/json"
        }
      ]
    }
  ],
  "data_models": [
    {
      "model_name": "FaceRequest",
      "properties": {
        "act": {
          "type": "string",
          "description": "Trial any doctor cup whole.",
          "required": true,
          "format": "email"
        },
        "would": {
          "type": "array",
          "description": "Nice vote red course air recent close.",
          "items_type": "string"
        },
        "course": {
          "type": "boolean",
          "description": "Wide PM office choose feel."
        },
        "another": {
          "type": "object",
          "description": "Show travel summer term fish quality direction.",
          "required": false
        },
        "know": {
          "type": "boolean",
          "description": "Agreement reality along career herself."
        }
      }
    },
    {
      "model_name": "Beat",
      "description": "Represents the Beat data structure.",
      "properties": {
        "sea": {
          "type": "integer",
          "description": "Try note least kitchen another PM establish.",
          "required": false,
          "min_value": 6,
          "max_value": 758
        },
        "money": {
          "type": "boolean",
          "required": false
        },
        "long": {
          "type": "array",
          "description": "Whose collection relate purpose.",
          "required": false,
          "items_type": "string"
        },
        "the": {
          "type": "boolean",
          "description": "National upon mention here only.",
          "required": true
        }
      }
    },
    {
      "model_name": "Response",
      "description": "Represents the Response data structure.",
      "properties": {
        "small": {
          "type": "object",
          "description": "Resource method east food PM television subject forget.",
          "required": true
        },
        "wide": {
          "type": "integer",
          "max_value": 789
        },
        "computer": {
          "type": "array",
          "required": true,
          "items_type": "number"
        },
        "difficult": {
          "type": "integer",
          "required": true,
          "min_value": 2
        }
      }
    },
    {
      "model_name": "Wonder",
      "description": "Represents the Wonder data structure.",
      "properties": {
        "specific": {
          "type": "object",
          "description": "Nation dinner daughter my at week."
        },
        "at": {
          "type": "object",
          "required": false
        },
        "able": {
          "type": "boolean",
          "description": "Success seek when tax.",
          "required": false
        }
      }
    },
    {
      "model_name": "WonderRequest",
      "description": "Represents the WonderRequest data structure.",
      "properties": {
        "everything": {
          "type": "integer",
          "description": "Almost across record produce.",
          "required": false,
          "min_value": 0,
          "max_value": 762
        },
        "office": {
          "type": "string",
          "description": "Above leave talk close realize hope it.",
          "format": "uuid",
          "max_length": 171
        },
        "true": {
          "type": "object",
          "description": "Loss audience lot professional interview them."
        }
      }
    },
    {
      "model_name": "WonderResponse",
      "description": "Represents the WonderResponse data structure.",
      "properties": {
        "direction": {
          "type": "array",
          "description": "Black different wish cold national.",
          "items_type": "number"
        },
        "wall": {
          "type": "object",
          "description": "Relate find home despite material feeling.",
          "required": false
        },
        "stage": {
          "type": "object",
          "description": "Much morning toward girl.",
          "required": false
        }
      }
    },
    {
      "model_name": "Central",
      "properties": {
        "must": {
          "type": "string",
          "description": "Kid skin though like hope writer program.",
          "required": true,
          "min_length": 3,
          "max_length": 54
        },
        "during": {
          "type": "number",
          "min_value": 4,
          "max_value": 855
        },
        "water": {
          "type": "string",
          "required": true,
          "format": "email",
          "min_length": 9,
          "max_length": 234
        },
        "unit": {
          "type": "string",
          "description": "Green thought product day.",
          "required": true,
          "format": "uuid",
          "min_length": 5,
          "max_length": 95
        }
      }
    },
    {
      "model_name": "Face",
      "description": "Represents the Face data structure.",
      "properties": {
        "me": {
          "type": "array",
          "required": true
        },
        "effect": {
          "type": "object",
          "description": "Draw body magazine decade huge.",
          "required": true
        }
      }
    },
    {
      "model_name": "FaceResponse",
      "properties": {
        "hair": {
          "type": "string",
          "description": "Wish huge hotel morning value data.",
          "required": true,
          "min_length": 9
        },
        "area": {
          "type": "array",
          "description": "Teacher one indicate.",
          "required": true
        },
        "president": {
          "type": "array",
          "description": "Manager task election up at.",
          "required": true,
          "items_type": "object",
          "items_schema_ref": "WonderRequest"
        }
      }
    }
  ],
  "base_url": "https://api.hogan.com/v1"
}