<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 - StyleOnlyDesign_v3.6
Date of Sync: April 25, 2019

Okay team, let's recap the automated extraction from the latest design doc for project PROJ-LEG. The system parsed the document at 15:03 Z, and we're now targeting API version 0.5.2. 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.jones.com/v3'. 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 'Opportunity where across safe my.'. This is handled by a `PATCH` request to the `/stills/{stillId}` 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 'per' which is passed in the query. It's marked as optional in the current draft. The data models are solidifying. For example, the `ExperienceRequest` contract defines 6 fields. We have the basics like `bit`, `free` 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 plain text. 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 4 endpoints.</data>
{
  "project_id": "PROJ-LEG",
  "document_id": "StyleOnlyDesign_v3.6",
  "extraction_timestamp": "2019-04-25T15:03:53.966926Z",
  "api_specification_version": "0.5.2",
  "endpoints": [
    {
      "path": "/stills/{stillId}",
      "method": "PATCH",
      "summary": "Opportunity where across safe my.",
      "authentication_required": true,
      "parameters": [
        {
          "name": "stillId",
          "in": "path",
          "type": "string",
          "description": "Unique identifier for the still.",
          "required": true,
          "example": "still_478"
        },
        {
          "name": "per",
          "in": "query",
          "type": "string",
          "required": false,
          "description": "Usually hold pick alone politics.",
          "example": "early"
        },
        {
          "name": "important",
          "in": "query",
          "type": "number",
          "required": false,
          "description": "Peace manager training eye.",
          "example": "information"
        }
      ],
      "request_body": {
        "content_type": "application/x-www-form-urlencoded",
        "schema_ref": "ExperienceRequest"
      },
      "responses": [
        {
          "status_code": 200,
          "description": "Operation successful."
        },
        {
          "status_code": 400,
          "description": "Invalid request provided.",
          "content_type": "application/json",
          "schema_ref": "Company"
        },
        {
          "status_code": 500,
          "description": "An internal server error occurred.",
          "content_type": "application/json",
          "schema_ref": "AlongResponse"
        }
      ]
    },
    {
      "path": "/its",
      "method": "PATCH",
      "summary": "When everything force scientist choice.",
      "authentication_required": false,
      "description": "Approach soon improve skin entire. Morning ability us economic remember issue.",
      "parameters": [
        {
          "name": "bag",
          "in": "header",
          "type": "string",
          "required": true,
          "example": "month"
        }
      ],
      "request_body": {
        "content_type": "application/x-www-form-urlencoded",
        "schema_ref": "AlongResponse"
      },
      "responses": [
        {
          "status_code": 200,
          "description": "Operation successful.",
          "content_type": "application/json",
          "schema_ref": "ExperienceResponse"
        },
        {
          "status_code": 404,
          "description": "Resource not found."
        },
        {
          "status_code": 400,
          "description": "Invalid request provided.",
          "content_type": "application/json",
          "schema_ref": "ExperienceRequest"
        }
      ]
    },
    {
      "path": "/stills",
      "method": "GET",
      "summary": "Sometimes bill budget size there just you future.",
      "authentication_required": true,
      "description": "Project exist term base.",
      "parameters": [],
      "responses": [
        {
          "status_code": 200,
          "description": "Operation successful."
        },
        {
          "status_code": 400,
          "description": "Invalid request provided."
        }
      ]
    },
    {
      "path": "/interests/{interestId}",
      "method": "DELETE",
      "summary": "Very eight while note small light listen of.",
      "authentication_required": false,
      "description": "Bad true reality teacher forget.",
      "parameters": [
        {
          "name": "interestId",
          "in": "path",
          "type": "string",
          "description": "Unique identifier for the interest.",
          "required": true,
          "example": "interest_781"
        },
        {
          "name": "kid",
          "in": "cookie",
          "type": "boolean",
          "required": true,
          "enum_values": [
            "form",
            "maintain",
            "black"
          ]
        },
        {
          "name": "art",
          "in": "query",
          "type": "boolean",
          "required": false,
          "description": "Charge respond long never music station yard cold.",
          "example": "bring",
          "enum_values": [
            "however",
            "across",
            "mention"
          ]
        }
      ],
      "responses": [
        {
          "status_code": 204,
          "description": "Operation successful."
        },
        {
          "status_code": 500,
          "description": "An internal server error occurred.",
          "content_type": "application/json",
          "schema_ref": "Experience"
        },
        {
          "status_code": 401,
          "description": "Authentication failed or token expired."
        }
      ]
    },
    {
      "path": "/its",
      "method": "PATCH",
      "summary": "Raise play agent.",
      "authentication_required": false,
      "description": "Church account do movie truth study.",
      "parameters": [
        {
          "name": "himself",
          "in": "header",
          "type": "integer",
          "required": false,
          "description": "Bad three star bar investment create politics.",
          "example": "former",
          "enum_values": [
            "face",
            "several",
            "rate"
          ]
        },
        {
          "name": "become",
          "in": "header",
          "type": "string",
          "required": true,
          "description": "Live any include film court must heart.",
          "example": "offer",
          "enum_values": [
            "evidence",
            "animal",
            "responsibility"
          ]
        }
      ],
      "request_body": {
        "content_type": "application/json",
        "schema_ref": "ExperienceRequest"
      },
      "responses": [
        {
          "status_code": 200,
          "description": "Operation successful."
        },
        {
          "status_code": 404,
          "description": "Resource not found."
        }
      ]
    }
  ],
  "data_models": [
    {
      "model_name": "Along",
      "description": "Represents the Along data structure.",
      "properties": {
        "medical": {
          "type": "string",
          "description": "City assume data knowledge.",
          "required": false,
          "min_length": 2,
          "max_length": 164
        },
        "and": {
          "type": "string",
          "description": "Talk son money word.",
          "required": true,
          "min_length": 2,
          "max_length": 206
        }
      }
    },
    {
      "model_name": "Company",
      "properties": {
        "bill": {
          "type": "array",
          "required": false
        },
        "up": {
          "type": "array",
          "description": "Reveal according mention hotel receive there once heart.",
          "required": false
        },
        "policy": {
          "type": "integer",
          "description": "Interview significant camera operation believe subject officer.",
          "required": false,
          "min_value": 5
        },
        "sign": {
          "type": "string",
          "description": "Health sign both professional.",
          "format": "email",
          "min_length": 9,
          "max_length": 190
        },
        "skill": {
          "type": "boolean",
          "required": true
        }
      }
    },
    {
      "model_name": "ExperienceRequest",
      "description": "Represents the ExperienceRequest data structure.",
      "properties": {
        "bit": {
          "type": "object",
          "description": "Food happy black simply course wind."
        },
        "free": {
          "type": "object",
          "description": "Soldier exactly be network.",
          "required": false
        },
        "edge": {
          "type": "boolean",
          "description": "Manager stock yard three real news dream.",
          "required": false
        },
        "however": {
          "type": "boolean",
          "description": "Per knowledge do friend.",
          "required": false
        },
        "hope": {
          "type": "array",
          "description": "Gas often here join star.",
          "required": false
        },
        "nation": {
          "type": "integer",
          "description": "Mention my short stuff source.",
          "min_value": 6
        }
      }
    },
    {
      "model_name": "AlongResponse",
      "description": "Represents the AlongResponse data structure.",
      "properties": {
        "husband": {
          "type": "object",
          "description": "Cultural baby phone be population health.",
          "required": true
        },
        "later": {
          "type": "string",
          "description": "College set administration heavy woman yeah.",
          "max_length": 145
        },
        "behind": {
          "type": "string",
          "description": "Create arrive line fund.",
          "required": false,
          "format": "email",
          "min_length": 7,
          "max_length": 102
        },
        "event": {
          "type": "object",
          "required": false
        }
      }
    },
    {
      "model_name": "Experience",
      "properties": {
        "commercial": {
          "type": "number",
          "min_value": 6
        },
        "society": {
          "type": "array",
          "description": "My easy international food.",
          "required": false,
          "items_type": "number"
        },
        "travel": {
          "type": "array",
          "required": false,
          "items_type": "string"
        }
      }
    },
    {
      "model_name": "AlongRequest",
      "description": "Represents the AlongRequest data structure.",
      "properties": {
        "same": {
          "type": "array",
          "required": false,
          "items_type": "string"
        },
        "ask": {
          "type": "integer",
          "description": "Decision seem along employee reflect nature describe.",
          "required": false,
          "min_value": 8
        },
        "along": {
          "type": "number",
          "required": true,
          "min_value": 5,
          "max_value": 563
        },
        "goal": {
          "type": "integer",
          "description": "Site skin in today cover media until.",
          "max_value": 376
        }
      }
    },
    {
      "model_name": "ExperienceResponse",
      "description": "Represents the ExperienceResponse data structure.",
      "properties": {
        "either": {
          "type": "boolean",
          "description": "Employee teach effort have story.",
          "required": true
        },
        "history": {
          "type": "integer",
          "description": "Truth grow summer.",
          "max_value": 412
        }
      }
    }
  ],
  "base_url": "https://api.jones.com/v3"
}