{"info":{"_postman_id":"aa11537e-3840-45ab-9082-00444d1a8f48","name":"project","description":"<html><head></head><body><p>API for automatic project scheduling, crashing, and task assignments from <a href=\"https://elmiasangga-agna.com.\">https://elmiasangga-agna.com.</a> The fields need to be filled with their appropriate subfields, even if they only contain an empty list. Project duration can be in days or hours, but it needs to be uniform and consistent with other fields, such as the 'breaks' field for the 'schedule' API.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"15994165","collectionId":"aa11537e-3840-45ab-9082-00444d1a8f48","publishedId":"2sB2x9iALW","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-06-18T02:54:54.000Z"},"item":[{"name":"schedule","id":"78ebed1e-615d-4a2f-b23c-d7fa1c78c3c2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"start\":\"2025-06-01 00:00:00\",\r\n    \"end\":\"2025-06-30 00:00:00\",\r\n    \"tasks\":{\"name\":[\"T1\",\"T2\",\"T3\"],\"duration\":[5,3,2],\"priority\":[1,2,1],\"ready_start\":[\"\",\"\",\"\"],\"ready_end\":[\"\",\"\",\"\"],\"due_start\":[\"\",\"\",\"\"],\"due_end\":[\"\",\"\",\"\"]},\r\n    \"dependencies\":{\"predecessor\":[\"T1\",\"T2\"],\"activity\":[\"T2\",\"T3\"],\"relationship\":[\"FS\",\"FS\"],\"is_minimum_lag\":[true,true],\"lag\":[0,0]},\r\n    \"resources\":{\"name\":[\"Lab\"],\"quantity\":[1]},\r\n    \"requirements\":{\"task\":[\"T1\",\"T2\",\"T3\"],\"resource\":[\"Lab\",\"Lab\",\"Lab\"],\"quantity\":[1,1,1]},\r\n    \"holidays\":{\"start\":[],\"end\":[]},\r\n    \"unavailabilities\":{\"resource\":[\"Lab\"],\"unavailable_from\":[\"2025-06-10 00:00:00\"],\"unavailable_to\":[\"2025-06-12 00:00:00\"],\"quantity\":[1]},\r\n    \"breaks\":[false,false,false,false,false,true,true],\r\n    \"webhook\":\"https://webhook.site/ddbfa88e-123b-4f52-9f7b-3ec80adab0e1\",\r\n    \"name\":\"test\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://elmiasangga-agna.com/_/api/project/schedule","description":"<p>A project scheduling API that contains the fields:</p>\n<ul>\n<li><p>start: the start date of the project, in simplified ISO 8601, YYYY-MM-DD HH:MM:SS (e.g., 2025-06-01 00:00:00)</p>\n</li>\n<li><p>end: the end date of the project, in simplified ISO 8601, YYYY-MM-DD HH:MM:SS (e.g., 2025-06-01 00:00:00)</p>\n</li>\n<li><p>tasks: the list of the project tasks with the fields:</p>\n<ul>\n<li><p>name: the name of the task</p>\n</li>\n<li><p>duration: a positive number representing the duration of the task, can be in days or hours</p>\n</li>\n<li><p>priority: a positive integer representing the priority of the task, with the smaller number representing the higher priority</p>\n</li>\n<li><p>ready_start: the earliest time that the task can start, in simplified ISO 8601, YYYY-MM-DD HH:MM:SS (e.g., 2025-06-01 00:00:00), leave every cell corresponding to the task that doesn't have it empty</p>\n</li>\n<li><p>ready_end: the earliest time that the task can inclusively end, in simplified ISO 8601, YYYY-MM-DD HH:MM:SS (e.g., 2025-06-01 00:00:00), leave every cell corresponding to the task that doesn't have it empty</p>\n</li>\n<li><p>due_start: the latest time that the task can inclusively start, in simplified ISO 8601, YYYY-MM-DD HH:MM:SS (e.g., 2025-06-01 00:00:00), leave every cell corresponding to the task that doesn't have it empty</p>\n</li>\n<li><p>due_end: the latest time that the task can inclusively end, in simplified ISO 8601, YYYY-MM-DD HH:MM:SS (e.g., 2025-06-01 00:00:00), leave every cell corresponding to the task that doesn't have it empty</p>\n</li>\n</ul>\n</li>\n<li><p>dependencies: the list of the project dependencies with the fields:</p>\n<ul>\n<li><p>activity: the name of the task</p>\n</li>\n<li><p>predecessor: the predecessor task of the activity</p>\n</li>\n<li><p>relationship: the relationship between the activity and its predecessor (Finish-to-Start (FS), Start-to-Start (SS), Start-to-Finish (SF), Finish-to-Finish (FF))</p>\n</li>\n<li><p>is_minimum_lag: True (the activity needs to lag by at least the amount given by the lag column) or False (the activity needs to lag by at most the amount given by the lag column)</p>\n</li>\n<li><p>lag: the amount of lag as an integer given either in days for a long project or hours for a short project, negative lag is lead</p>\n</li>\n</ul>\n</li>\n<li><p>resources: the resources available for the project, with the fields:</p>\n<ul>\n<li><p>name: the name of the resource</p>\n</li>\n<li><p>quantity: the quantity of the resource</p>\n</li>\n</ul>\n</li>\n<li><p>requirements: the resource requirements for the project tasks, with the fields:</p>\n<ul>\n<li><p>task: the name of the task</p>\n</li>\n<li><p>resource: the name of the resource</p>\n</li>\n<li><p>quantity: the amount of the resource required by the task</p>\n</li>\n</ul>\n</li>\n<li><p>unavailabilities: the period of unavailability for each of the project resources, with the fields:</p>\n<ul>\n<li><p>resource: the name of the resource</p>\n</li>\n<li><p>unavailable_from: the period in which the resource will be unavailable from, inclusive of unavailable_from</p>\n</li>\n<li><p>unavailable_to: the period in which the resource will be unavailable to, exclusive of unavailable_to</p>\n</li>\n<li><p>quantity: the amount of the resource that won't be available</p>\n</li>\n</ul>\n</li>\n<li><p>holidays: the period of holiday for the organization, excluding weekends, with the fields:</p>\n<ul>\n<li><p>start: the period in which the holiday will be starting from, inclusive of the start</p>\n</li>\n<li><p>end: the period in which the holiday will be starting from, exclusive of the end</p>\n</li>\n</ul>\n</li>\n<li><p>breaks: a list of seven booleans for a project with duration in days or a list of twenty-four booleans for a project with duration in hours</p>\n</li>\n<li><p>webhook: the webhook, which will be sent the schedule once it is generated</p>\n</li>\n<li><p>name: the name of the project</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"x-api-key"},{"key":"value","value":"{{vault:key}}"}]},"isInherited":true,"source":{"_postman_id":"aa11537e-3840-45ab-9082-00444d1a8f48","id":"aa11537e-3840-45ab-9082-00444d1a8f48","name":"project","type":"collection"}},"urlObject":{"protocol":"https","path":["_","api","project","schedule"],"host":["elmiasangga-agna","com"],"query":[],"variable":[]}},"response":[{"id":"cb4ee7be-8e14-4e43-86e0-2c2eab557fc6","name":"schedule","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"start\":\"2025-06-01 00:00:00\",\r\n    \"end\":\"2025-06-30 00:00:00\",\r\n    \"tasks\":{\"name\":[\"T1\",\"T2\",\"T3\"],\"duration\":[5,3,2],\"priority\":[1,2,1],\"ready_start\":[\"\",\"\",\"\"],\"ready_end\":[\"\",\"\",\"\"],\"due_start\":[\"\",\"\",\"\"],\"due_end\":[\"\",\"\",\"\"]},\r\n    \"dependencies\":{\"predecessor\":[\"T1\",\"T2\"],\"activity\":[\"T2\",\"T3\"],\"relationship\":[\"FS\",\"FS\"],\"is_minimum_lag\":[true,true],\"lag\":[0,0]},\r\n    \"resources\":{\"name\":[\"Lab\"],\"quantity\":[1]},\r\n    \"requirements\":{\"task\":[\"T1\",\"T2\",\"T3\"],\"resource\":[\"Lab\",\"Lab\",\"Lab\"],\"quantity\":[1,1,1]},\r\n    \"holidays\":{\"start\":[],\"end\":[]},\r\n    \"unavailabilities\":{\"resource\":[\"Lab\"],\"unavailable_from\":[\"2025-06-10 00:00:00\"],\"unavailable_to\":[\"2025-06-12 00:00:00\"],\"quantity\":[1]},\r\n    \"breaks\":[false,false,false,false,false,true,true],\r\n    \"webhook\":\"https://webhook.site/ddbfa88e-123b-4f52-9f7b-3ec80adab0e1\",\r\n    \"name\":\"test\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://elmiasangga-agna.com/_/api/project/schedule"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"content-type","value":"text/plain; charset=utf-8"},{"key":"cache-control","value":"no-cache, no-store"},{"key":"x-xss-protection","value":"1; mode=block"},{"key":"x-content-type-options","value":"nosniff"},{"key":"content-length","value":"32"},{"key":"server","value":"anvil"},{"key":"date","value":"Mon, 07 Jul 2025 22:47:19 GMT"},{"key":"x-server","value":"platform-server-green-2"}],"cookie":[],"responseTime":null,"body":"Project test is being scheduled."}],"_postman_id":"78ebed1e-615d-4a2f-b23c-d7fa1c78c3c2"},{"name":"crash","id":"3372f594-cae0-4b77-a0fb-4cab72ddedfe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"start\":\"2025-07-01 08:00:00\",\r\n    \"end\":\"2025-07-12 08:00:00\",\r\n    \"tasks\":{\"name\":[\"1\",\"2\",\"3\",\"4\",\"5\"],\"duration\":[5,7,8,4,3],\"ready_start\":[\"\",\"\",\"\",\"\",\"\"],\"ready_end\":[\"\",\"\",\"\",\"\",\"\"],\"due_start\":[\"\",\"\",\"\",\"\",\"\"],\"due_end\":[\"\",\"\",\"\",\"\",\"\"]},\r\n    \"dependencies\":{\"predecessor\":[\"1\",\"1\",\"3\",\"5\"],\"activity\":[\"2\",\"5\",\"4\",\"4\"],\"relationship\":[\"FS\",\"FS\",\"FS\",\"FS\"],\"is_minimum_lag\":[true,true,true,true],\"lag\":[0,0,0,0]},\r\n    \"long\":true,\r\n    \"budget\":20,\r\n    \"name\":\"New Office Build – time-compression\",\r\n    \"webhook\":\"https://webhook.site/ddbfa88e-123b-4f52-9f7b-3ec80adab0e1\",\r\n    \"crashing_costs\":{\"task\":[\"1\",\"2\",\"3\",\"4\",\"5\"],\"cost\":[6,2,2,6,2]}\r\n}","options":{"raw":{"language":"json"}}},"url":"https://elmiasangga-agna.com/_/api/project/crash","description":"<p>A project crashing API that contains the fields:</p>\n<ul>\n<li><p>start: the start date of the project, in simplified ISO 8601, YYYY-MM-DD HH:MM:SS (e.g., 2025-06-01 00:00:00)</p>\n</li>\n<li><p>end: the desired end date of the project, in simplified ISO 8601, YYYY-MM-DD HH:MM:SS (e.g., 2025-06-01 00:00:00)</p>\n</li>\n<li><p>tasks: the list of the project tasks with the fields:</p>\n<ul>\n<li><p>name: the name of the task</p>\n</li>\n<li><p>duration: a positive number representing the duration of the task, can be in days or hours</p>\n</li>\n<li><p>priority: a positive integer representing the priority of the task, with the smaller number representing the higher priority</p>\n</li>\n<li><p>ready_start: the earliest time that the task can start, in simplified ISO 8601, YYYY-MM-DD HH:MM:SS (e.g., 2025-06-01 00:00:00), leave every cell corresponding to the task that doesn't have it empty</p>\n</li>\n<li><p>ready_end: the earliest time that the task can inclusively end, in simplified ISO 8601, YYYY-MM-DD HH:MM:SS (e.g., 2025-06-01 00:00:00), leave every cell corresponding to the task that doesn't have it empty</p>\n</li>\n<li><p>due_start: the latest time that the task can inclusively start, in simplified ISO 8601, YYYY-MM-DD HH:MM:SS (e.g., 2025-06-01 00:00:00), leave every cell corresponding to the task that doesn't have it empty</p>\n</li>\n<li><p>due_end: the latest time that the task can inclusively end, in simplified ISO 8601, YYYY-MM-DD HH:MM:SS (e.g., 2025-06-01 00:00:00), leave every cell corresponding to the task that doesn't have it empty</p>\n</li>\n</ul>\n</li>\n<li><p>dependencies: the list of the project dependencies with the fields:</p>\n<ul>\n<li><p>activity: the name of the task</p>\n</li>\n<li><p>predecessor: the predecessor task of the activity</p>\n</li>\n<li><p>relationship: the relationship between the activity and its predecessor (Finish-to-Start (FS), Start-to-Start (SS), Start-to-Finish (SF), Finish-to-Finish (FF))</p>\n</li>\n<li><p>is_minimum_lag: True (the activity needs to lag by at least the amount given by the lag column) or False (the activity needs to lag by at most the amount given by the lag column)</p>\n</li>\n<li><p>lag: the amount of lag as an integer given either in days for a long project or hours for a short project, negative lag is lead</p>\n</li>\n</ul>\n</li>\n<li><p>long: a boolean which is true if the duration for each of the tasks is in days and false if it is in hours</p>\n</li>\n<li><p>budget: a positive number representing the available budget for the project crashing</p>\n</li>\n<li><p>webhook: the webhook, which will be sent the crashed schedule once it is generated</p>\n</li>\n<li><p>name: the name of the project</p>\n</li>\n<li><p>crashing_costs: the list of costs for crashing each task a certain number of times, with the fields:</p>\n<ul>\n<li><p>task: the name of the task</p>\n</li>\n<li><p>cost: the cost for crashing the project for one day (for projects that have each task duration in days) or one hour (for projects that have each task duration in hours)</p>\n</li>\n</ul>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"x-api-key"},{"key":"value","value":"{{vault:key}}"}]},"isInherited":true,"source":{"_postman_id":"aa11537e-3840-45ab-9082-00444d1a8f48","id":"aa11537e-3840-45ab-9082-00444d1a8f48","name":"project","type":"collection"}},"urlObject":{"protocol":"https","path":["_","api","project","crash"],"host":["elmiasangga-agna","com"],"query":[],"variable":[]}},"response":[{"id":"7d7e4af0-2395-4275-9d2b-5a499d1b79b8","name":"crash","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"start\":\"2025-07-01 08:00:00\",\r\n    \"end\":\"2025-07-12 08:00:00\",\r\n    \"tasks\":{\"name\":[\"1\",\"2\",\"3\",\"4\",\"5\"],\"duration\":[5,7,8,4,3],\"ready_start\":[\"\",\"\",\"\",\"\",\"\"],\"ready_end\":[\"\",\"\",\"\",\"\",\"\"],\"due_start\":[\"\",\"\",\"\",\"\",\"\"],\"due_end\":[\"\",\"\",\"\",\"\",\"\"]},\r\n    \"dependencies\":{\"predecessor\":[\"1\",\"1\",\"3\",\"5\"],\"activity\":[\"2\",\"5\",\"4\",\"4\"],\"relationship\":[\"FS\",\"FS\",\"FS\",\"FS\"],\"is_minimum_lag\":[true,true,true,true],\"lag\":[0,0,0,0]},\r\n    \"long\":true,\r\n    \"budget\":20,\r\n    \"name\":\"New Office Build – time-compression\",\r\n    \"webhook\":\"https://webhook.site/ddbfa88e-123b-4f52-9f7b-3ec80adab0e1\",\r\n    \"crashing_costs\":{\"task\":[\"1\",\"2\",\"3\",\"4\",\"5\"],\"cost\":[6,2,2,6,2]}\r\n}","options":{"raw":{"language":"json"}}},"url":"https://elmiasangga-agna.com/_/api/project/crash"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"content-type","value":"text/plain; charset=utf-8"},{"key":"cache-control","value":"no-cache, no-store"},{"key":"x-xss-protection","value":"1; mode=block"},{"key":"x-content-type-options","value":"nosniff"},{"key":"content-length","value":"63"},{"key":"server","value":"anvil"},{"key":"date","value":"Mon, 07 Jul 2025 22:51:12 GMT"},{"key":"x-server","value":"platform-server-green-4"}],"cookie":[],"responseTime":null,"body":"Project New Office Build – time-compression is being crashed."}],"_postman_id":"3372f594-cae0-4b77-a0fb-4cab72ddedfe"},{"name":"assign","id":"78a77e1c-71df-4970-a47d-bdac00d11741","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"tasks\": {\r\n        \"name\": [\"Warehouse Inventory\", \"Customer Deliveries\", \"Vehicle Maintenance\"],\r\n        \"start\": [\"2025-06-03 09:00:00\", \"2025-06-03 08:00:00\", \"2025-06-04 10:00:00\"],\r\n        \"end\": [\"2025-06-03 12:00:00\", \"2025-06-03 17:00:00\", \"2025-06-04 15:00:00\"]\r\n    },\r\n    \"requirements\": {\r\n        \"task\": [\"Warehouse Inventory\", \"Customer Deliveries\", \"Customer Deliveries\", \"Vehicle Maintenance\"],\r\n        \"skill\": [\"Forklift Operator\", \"Delivery Driver\", \"Package Handler\", \"Auto Mechanic\"],\r\n        \"quantity\": [1, 2, 1, 1]\r\n    },\r\n    \"assignees\": {\r\n        \"name\": [\"John Smith\", \"Emma Wilson\", \"Mike Chen\", \"Sarah Johnson\", \"David Brown\"],\r\n        \"skill\": [\"Forklift Operator\", \"Delivery Driver\", \"Package Handler\", \"Auto Mechanic\", \"Delivery Driver\"]\r\n    },\r\n    \"webhook\": \"https://webhook.site/ddbfa88e-123b-4f52-9f7b-3ec80adab0e1\",\r\n    \"project_name\": \"June_2025_Operations\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://elmiasangga-agna.com/_/api/project/assign","description":"<p>A task assignment API that contains the fields:</p>\n<ul>\n<li><p>requirements: the list of the project requirements with the fields:</p>\n<ul>\n<li><p>task: the name of the project's task</p>\n</li>\n<li><p>skill: the skill required for the task</p>\n</li>\n<li><p>quantity: the number of people with the skill that are required by the task</p>\n</li>\n</ul>\n</li>\n<li><p>assignees: the list of people working on the project, with the fields:</p>\n<ul>\n<li><p>name: the name of the person working on the project</p>\n</li>\n<li><p>skill: the skill that the person has</p>\n</li>\n</ul>\n</li>\n<li><p>webhook: the webhook, which will be sent the task assignment once it is generated</p>\n</li>\n<li><p>project_name: the name of the project</p>\n</li>\n<li><p>tasks: the list of the project tasks with the fields:</p>\n<ul>\n<li><p>name: the name of the task</p>\n</li>\n<li><p>start: the start time of the task</p>\n</li>\n<li><p>end: the end time of the task</p>\n</li>\n</ul>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"x-api-key"},{"key":"value","value":"{{vault:key}}"}]},"isInherited":true,"source":{"_postman_id":"aa11537e-3840-45ab-9082-00444d1a8f48","id":"aa11537e-3840-45ab-9082-00444d1a8f48","name":"project","type":"collection"}},"urlObject":{"protocol":"https","path":["_","api","project","assign"],"host":["elmiasangga-agna","com"],"query":[],"variable":[]}},"response":[{"id":"39f98231-ee89-447e-ba1c-02fdd1ccc0c3","name":"assign","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"tasks\": {\r\n        \"name\": [\"Warehouse Inventory\", \"Customer Deliveries\", \"Vehicle Maintenance\"],\r\n        \"start\": [\"2025-06-03 09:00:00\", \"2025-06-03 08:00:00\", \"2025-06-04 10:00:00\"],\r\n        \"end\": [\"2025-06-03 12:00:00\", \"2025-06-03 17:00:00\", \"2025-06-04 15:00:00\"]\r\n    },\r\n    \"requirements\": {\r\n        \"task\": [\"Warehouse Inventory\", \"Customer Deliveries\", \"Customer Deliveries\", \"Vehicle Maintenance\"],\r\n        \"skill\": [\"Forklift Operator\", \"Delivery Driver\", \"Package Handler\", \"Auto Mechanic\"],\r\n        \"quantity\": [1, 2, 1, 1]\r\n    },\r\n    \"assignees\": {\r\n        \"name\": [\"John Smith\", \"Emma Wilson\", \"Mike Chen\", \"Sarah Johnson\", \"David Brown\"],\r\n        \"skill\": [\"Forklift Operator\", \"Delivery Driver\", \"Package Handler\", \"Auto Mechanic\", \"Delivery Driver\"]\r\n    },\r\n    \"webhook\": \"https://webhook.site/ddbfa88e-123b-4f52-9f7b-3ec80adab0e1\",\r\n    \"project_name\": \"June_2025_Operations\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://elmiasangga-agna.com/_/api/project/assign"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"content-type","value":"text/plain; charset=utf-8"},{"key":"cache-control","value":"no-cache, no-store"},{"key":"x-xss-protection","value":"1; mode=block"},{"key":"x-content-type-options","value":"nosniff"},{"key":"content-length","value":"61"},{"key":"server","value":"anvil"},{"key":"date","value":"Mon, 07 Jul 2025 22:53:44 GMT"},{"key":"x-server","value":"platform-server-green-4"}],"cookie":[],"responseTime":null,"body":"Assignment for project June_2025_Operations is being created."}],"_postman_id":"78a77e1c-71df-4970-a47d-bdac00d11741"}],"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"x-api-key"},{"key":"value","value":"{{vault:key}}"}]}},"event":[{"listen":"prerequest","script":{"id":"9157a9c8-2b75-4e7b-8b7a-9bcbf7888f56","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"dc52fbaa-4446-44a7-bcd9-9996cf6ec110","type":"text/javascript","packages":{},"exec":[""]}}]}