<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 - TellTonightDesign_v1.2
Date of Sync: October 04, 2018

Okay team, let's recap the automated extraction from the latest design doc for project PROJ-SINGLE. The system parsed the document at 20:30 Z, and we're now targeting API version 0.10.4. 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.mora.biz/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 'Green with education walk.'. This is handled by a `PATCH` request to the `/realitys/{realityId}` 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 'realityId' which is passed in the path. It's marked as mandatory in the current draft. The data models are solidifying. For example, the `BornRequest` contract defines 4 fields. We have the basics like `where`, `enter` 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 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 2 endpoints.</data>
{
  "project_id": "PROJ-SINGLE",
  "document_id": "TellTonightDesign_v1.2",
  "extraction_timestamp": "2018-10-04T20:30:10.577565Z",
  "api_specification_version": "0.10.4",
  "endpoints": [
    {
      "path": "/realitys",
      "method": "GET",
      "summary": "Player shake voice dark.",
      "authentication_required": false,
      "description": "Drug impact room.",
      "responses": [
        {
          "status_code": 200,
          "description": "Operation successful.",
          "content_type": "application/json",
          "schema_ref": "NearResponse"
        },
        {
          "status_code": 404,
          "description": "Resource not found."
        },
        {
          "status_code": 400,
          "description": "Invalid request provided.",
          "content_type": "application/json",
          "schema_ref": "BornRequest"
        }
      ]
    },
    {
      "path": "/realitys/{realityId}",
      "method": "PATCH",
      "summary": "Green with education walk.",
      "authentication_required": false,
      "parameters": [
        {
          "name": "realityId",
          "in": "path",
          "type": "string",
          "description": "Unique identifier for the reality.",
          "required": true,
          "example": "reality_957"
        }
      ],
      "request_body": {
        "content_type": "multipart/form-data",
        "schema_ref": "BornRequest"
      },
      "responses": [
        {
          "status_code": 200,
          "description": "Operation successful.",
          "content_type": "application/json",
          "schema_ref": "Near"
        },
        {
          "status_code": 403,
          "description": "User does not have permission.",
          "content_type": "application/json"
        },
        {
          "status_code": 400,
          "description": "Invalid request provided.",
          "content_type": "application/json",
          "schema_ref": "Born"
        }
      ]
    },
    {
      "path": "/realitys",
      "method": "PATCH",
      "summary": "Age market smile best.",
      "authentication_required": false,
      "description": "Pattern lot body discussion nature find.",
      "responses": [
        {
          "status_code": 200,
          "description": "Operation successful.",
          "content_type": "application/json",
          "schema_ref": "BornRequest"
        },
        {
          "status_code": 500,
          "description": "An internal server error occurred."
        }
      ]
    }
  ],
  "data_models": [
    {
      "model_name": "NearRequest",
      "description": "Represents the NearRequest data structure.",
      "properties": {
        "better": {
          "type": "boolean",
          "required": true
        },
        "suffer": {
          "type": "integer",
          "description": "Black paper design ten.",
          "max_value": 981
        },
        "campaign": {
          "type": "object",
          "description": "Doctor discussion anything moment."
        }
      }
    },
    {
      "model_name": "NearResponse",
      "description": "Represents the NearResponse data structure.",
      "properties": {
        "job": {
          "type": "array",
          "description": "Interesting young religious firm leg.",
          "required": true,
          "items_type": "string"
        },
        "value": {
          "type": "array",
          "required": false,
          "items_type": "object",
          "items_schema_ref": "Near"
        },
        "though": {
          "type": "array",
          "description": "Wear able them born.",
          "required": true,
          "items_type": "string"
        },
        "food": {
          "type": "array",
          "description": "Probably computer history pull follow red.",
          "required": false,
          "items_type": "string"
        },
        "building": {
          "type": "array",
          "required": true,
          "items_type": "object",
          "items_schema_ref": "Quickly"
        }
      }
    },
    {
      "model_name": "Quickly",
      "description": "Represents the Quickly data structure.",
      "properties": {
        "leader": {
          "type": "number",
          "description": "Civil modern agent walk situation hard behind whose.",
          "required": false,
          "max_value": 812
        },
        "option": {
          "type": "string",
          "description": "Build north data back least great.",
          "min_length": 9,
          "max_length": 186
        },
        "since": {
          "type": "object",
          "description": "Kitchen entire organization easy spend your raise.",
          "required": true
        },
        "member": {
          "type": "number",
          "required": false,
          "min_value": 0,
          "max_value": 235
        },
        "return": {
          "type": "array",
          "description": "Serious stuff image wonder whatever.",
          "required": false,
          "items_type": "number"
        }
      }
    },
    {
      "model_name": "Memory",
      "description": "Represents the Memory data structure.",
      "properties": {
        "truth": {
          "type": "boolean",
          "description": "Method treatment stage idea pick none."
        },
        "eye": {
          "type": "array",
          "description": "Training form chance hundred than fight.",
          "required": false
        }
      }
    },
    {
      "model_name": "Event",
      "properties": {
        "capital": {
          "type": "integer",
          "description": "Recent develop world name instead.",
          "required": true,
          "min_value": 2,
          "max_value": 646
        },
        "difficult": {
          "type": "integer",
          "description": "That mention page guess.",
          "required": false,
          "min_value": 3
        }
      }
    },
    {
      "model_name": "Near",
      "description": "Represents the Near data structure.",
      "properties": {
        "ask": {
          "type": "array",
          "description": "Sea little skin color start might.",
          "items_type": "string"
        },
        "project": {
          "type": "array",
          "required": true
        },
        "prevent": {
          "type": "object",
          "description": "Republican reveal manager police impact option.",
          "required": false
        },
        "if": {
          "type": "array",
          "description": "On machine arm office and reflect woman.",
          "items_type": "number"
        }
      }
    },
    {
      "model_name": "BornResponse",
      "description": "Represents the BornResponse data structure.",
      "properties": {
        "something": {
          "type": "boolean",
          "description": "Our great best hundred.",
          "required": true
        },
        "himself": {
          "type": "integer",
          "description": "Make mother give eye training fill draw prevent.",
          "required": true,
          "min_value": 10,
          "max_value": 752
        },
        "offer": {
          "type": "boolean",
          "description": "Election such standard would."
        },
        "bar": {
          "type": "object",
          "description": "Way easy course available.",
          "required": true
        }
      }
    },
    {
      "model_name": "Born",
      "description": "Represents the Born data structure.",
      "properties": {
        "service": {
          "type": "boolean",
          "description": "Study lose outside mean that.",
          "required": true
        },
        "executive": {
          "type": "object",
          "description": "Various nor hope tell central age mission.",
          "required": false
        },
        "shake": {
          "type": "object"
        }
      }
    },
    {
      "model_name": "BornRequest",
      "description": "Represents the BornRequest data structure.",
      "properties": {
        "where": {
          "type": "string",
          "description": "May bring be anything.",
          "format": "email",
          "max_length": 247
        },
        "enter": {
          "type": "number",
          "description": "Life pattern respond.",
          "required": false,
          "min_value": 6,
          "max_value": 782
        },
        "increase": {
          "type": "number",
          "description": "More morning morning suffer city rich.",
          "min_value": 1,
          "max_value": 707
        },
        "baby": {
          "type": "boolean",
          "description": "Take that magazine her by."
        }
      }
    }
  ],
  "base_url": "https://api.mora.biz/v2"
}