@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Noosh API application
@base http://example.com:80/v1
@version 1.0
@auth basic
@common_fields {workgroup_id: any}
@endpoints 107
@hint download_for_search
@toc 1.1(9), 1.2(1), 3(3), countries(1), workgroups(93)

@group 1.1
@endpoint GET /1.1/workgroups/{workgroup_id}/projects/{project_id}/fileTags
@required {project_id: any}
@returns(200)
@errors {500}

@endpoint GET /1.1/workgroups/{workgroup_id}/projects/{project_id}/files
@required {project_id: any}
@returns(200)
@errors {500}

@endpoint POST /1.1/workgroups/{workgroup_id}/projects/{project_id}/files
@required {project_id: any}
@optional {body: file}
@returns(200)
@errors {500}

@endpoint GET /1.1/workgroups/{workgroup_id}/projects/{project_id}/files/{file_id}
@required {project_id: any, file_id: any}
@returns(200)
@errors {500}

@endpoint POST /1.1/workgroups/{workgroup_id}/projects/{project_id}/filesByRole
@required {project_id: any}
@optional {body: file}
@returns(200)
@errors {500}

@endpoint GET /1.1/workgroups/{workgroup_id}/projects/{project_id}/specs/{spec_id}
@required {project_id: any, spec_id: any}
@returns(200)
@errors {404, 500}

@endpoint PUT /1.1/workgroups/{workgroup_id}/projects/{project_id}/specs/{spec_id}
@required {project_id: any, spec_id: any}
@optional {body: any}
@returns(200)
@errors {404, 500}

@endpoint POST /1.1/workgroups/{workgroup_id}/projects/{project_id}/teammembers
@required {project_id: any}
@optional {body: any}
@returns(200)
@errors {422, 500}

@endpoint GET /1.1/workgroups/{workgroup_id}/specTypes/{spec_type_id}/specTypeFields
@required {spec_type_id: any}
@returns(200)
@errors {404, 500}

@endgroup

@group 1.2
@endpoint POST /1.2/workgroups/{workgroup_id}/projects/{project_id}/filesByRole
@required {project_id: any}
@optional {body: file}
@returns(200)
@errors {500}

@endgroup

@group 3
@endpoint POST /3/workgroups/{workgroup_id}/projects/{project_id}/files
@required {project_id: any}
@optional {body: file}
@returns(200)
@errors {500}

@endpoint GET /3/workgroups/{workgroup_id}/projects/{project_id}/folders
@required {project_id: any}
@returns(200)
@errors {500}

@endpoint POST /3/workgroups/{workgroup_id}/projects/{project_id}/folders
@required {project_id: any}
@optional {body: any}
@returns(200)
@errors {500}

@endgroup

@group countries
@endpoint GET /v1/countries
@returns(200)
@errors {404, 500}

@endgroup

@group workgroups
@endpoint GET /v1/workgroups
@optional {workgroup_name: any, workgroup_types: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/automaticInvitations
@returns(200)
@errors {500}

@endpoint GET /v1/workgroups/{workgroup_id}/billingRecipients
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/buyOrders
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/buyOrders/{order_id}
@required {order_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/clientWorkgroups
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/clientWorkgroups/{client_workgroup_id}
@required {client_workgroup_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/clientWorkgroups/{client_workgroup_id}/projectCategory
@required {client_workgroup_id: any}
@returns(200)
@errors {404, 422, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/clientWorkgroups/{client_workgroup_id}/projectHomeUserFields
@required {client_workgroup_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/clientWorkgroups/{client_workgroup_id}/projectStatus
@required {client_workgroup_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/contacts
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/contacts/{user_id}
@required {user_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/customTaskStatus
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/customTaskTypes
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/deactivationReasons
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/defaultTaskPriority
@returns(200)
@errors {500}

@endpoint GET /v1/workgroups/{workgroup_id}/defaultTaskStatus
@returns(200)
@errors {500}

@endpoint GET /v1/workgroups/{workgroup_id}/detail
@returns(200)
@errors {404, 500}

@endpoint PUT /v1/workgroups/{workgroup_id}/detail
@optional {body: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/exchangeRate
@returns(200)
@errors {404, 500}

@endpoint POST /v1/workgroups/{workgroup_id}/exchangeRate
@optional {body: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/myTimeCards
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/myTimeCards/{timeCard_id}
@required {timeCard_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/productTypes
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/productTypesOfSpecTypes
@returns(200)
@errors {404, 500}

@endpoint POST /v1/workgroups/{workgroup_id}/productTypesOfSpecTypes
@optional {body: any}
@returns(200)
@errors {422, 500}

@endpoint POST /v1/workgroups/{workgroup_id}/profileImage
@optional {body: file}
@returns(200)
@errors {500}

@endpoint GET /v1/workgroups/{workgroup_id}/projectCategory
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projectHomeUserFields
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projectStatus
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects
@returns(200)
@errors {404, 500}

@endpoint POST /v1/workgroups/{workgroup_id}/projects
@optional {body: any}
@returns(200)
@errors {422, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}
@required {project_id: any}
@returns(200)
@errors {404, 500}

@endpoint PUT /v1/workgroups/{workgroup_id}/projects/{project_id}
@required {project_id: any}
@optional {body: any}
@returns(200)
@errors {422, 500}

@endpoint DELETE /v1/workgroups/{workgroup_id}/projects/{project_id}
@required {project_id: any}
@returns(200)
@errors {422, 500}

@endpoint PATCH /v1/workgroups/{workgroup_id}/projects/{project_id}
@required {project_id: any}
@optional {body: any}
@returns(200)
@errors {422, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/buyOrders
@required {project_id: any}
@returns(200)
@errors {404, 500}

@endpoint POST /v1/workgroups/{workgroup_id}/projects/{project_id}/buyOrders
@required {project_id: any}
@optional {body: any}
@returns(200)
@errors {422, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/buyOrders/{order_id}
@required {project_id: any, order_id: any}
@returns(200)
@errors {404, 500}

@endpoint PUT /v1/workgroups/{workgroup_id}/projects/{project_id}/buyOrders/{order_id}
@required {project_id: any, order_id: any}
@optional {body: any}
@returns(200)
@errors {404, 500}

@endpoint POST /v1/workgroups/{workgroup_id}/projects/{project_id}/children
@required {project_id: any}
@optional {body: any}
@returns(200)
@errors {422, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/estimates
@required {project_id: any}
@returns(200)
@errors {404, 500}

@endpoint POST /v1/workgroups/{workgroup_id}/projects/{project_id}/estimates
@required {project_id: any}
@optional {body: any}
@returns(200)
@errors {422, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/estimates/{estimate_id}
@required {project_id: any, estimate_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/invoices/orders/{order_id}
@required {project_id: any, order_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/invoices/{invoice_id}
@required {project_id: any, invoice_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/invoices/{invoice_id}/files
@required {project_id: any, invoice_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/memberroles/{user_id}
@required {project_id: any, user_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/orders/{order_id}
@required {project_id: any, order_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/quotes
@required {project_id: any}
@optional {quote_state_id, use filters={"quote_state_id":111111}: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/quotes/{quote_id}
@required {project_id: any, quote_id: any}
@returns(200)
@errors {404, 500}

@endpoint PUT /v1/workgroups/{workgroup_id}/projects/{project_id}/quotes/{quote_id}
@required {project_id: any, quote_id: any}
@optional {body: any}
@returns(200)
@errors {422, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/rfes
@required {project_id: any}
@returns(200)
@errors {404, 500}

@endpoint POST /v1/workgroups/{workgroup_id}/projects/{project_id}/rfes
@required {project_id: any}
@optional {body: any}
@returns(200)
@errors {422, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/rfes/{rfe_id}
@required {project_id: any, rfe_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/rfqs
@required {project_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/rfqs/{rfq_id}
@required {project_id: any, rfq_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/sellOrders
@required {project_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/sellOrders/{order_id}
@required {project_id: any, order_id: any}
@returns(200)
@errors {404, 500}

@endpoint PUT /v1/workgroups/{workgroup_id}/projects/{project_id}/sellOrders/{order_id}
@required {project_id: any, order_id: any}
@optional {body: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/shipments
@required {project_id: any}
@returns(200)
@errors {404, 500}

@endpoint POST /v1/workgroups/{workgroup_id}/projects/{project_id}/shipments
@required {project_id: any}
@optional {body: any}
@returns(200)
@errors {422, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/shipments/{shipment_id}
@required {project_id: any, shipment_id: any}
@returns(200)
@errors {404, 500}

@endpoint PUT /v1/workgroups/{workgroup_id}/projects/{project_id}/shipments/{shipment_id}/locations/{location_id}
@required {project_id: any, shipment_id: any, location_id: any}
@optional {body: any}
@returns(200)
@errors {422, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/specs
@required {project_id: any}
@returns(200)
@errors {404, 500}

@endpoint POST /v1/workgroups/{workgroup_id}/projects/{project_id}/specs
@required {project_id: any}
@optional {body: any}
@returns(200)
@errors {422, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/specs/{spec_id}
@required {project_id: any, spec_id: any}
@returns(200)
@errors {404, 500}

@endpoint PUT /v1/workgroups/{workgroup_id}/projects/{project_id}/specs/{spec_id}
@required {project_id: any, spec_id: any}
@optional {body: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/tasks
@required {project_id: any}
@returns(200)
@errors {404, 500}

@endpoint POST /v1/workgroups/{workgroup_id}/projects/{project_id}/tasks
@required {project_id: any}
@optional {body: any}
@returns(200)
@errors {422, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/tasks/{task_id}
@required {project_id: any, task_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/teamMembersOfClientProject
@required {project_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/projects/{project_id}/teammembers
@required {project_id: any}
@returns(200)
@errors {404, 500}

@endpoint POST /v1/workgroups/{workgroup_id}/projects/{project_id}/teammembers
@required {project_id: any}
@optional {body: any}
@returns(200)
@errors {422, 500}

@endpoint DELETE /v1/workgroups/{workgroup_id}/projects/{project_id}/teammembers/{teammember_id}
@required {project_id: any, teammember_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/quoteStates
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/quotes
@optional {quote_state_id, use filters={"quote_state_id":111111}: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/receivedTimeCards
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/receivedTimeCards/{timeCard_id}
@required {timeCard_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/sellOrders
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/sellOrders/{order_id}
@required {order_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/specTemplates
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/specTemplates/{spec_template_id}
@required {spec_template_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/specTypes/{spec_type_id}/specTypeFields
@required {spec_type_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/supplierWorkgroups
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/supplierWorkgroups/{bu_supplier_workgroup_id}
@required {bu_supplier_workgroup_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/taskTypes
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/tasks
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/tasks/{task_id}
@required {task_id: any}
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/teamTemplates
@returns(200)
@errors {500}

@endpoint GET /v1/workgroups/{workgroup_id}/teamTemplates/{team_template_id}
@required {team_template_id: any}
@returns(200)
@errors {500}

@endpoint GET /v1/workgroups/{workgroup_id}/workgroupMembers
@returns(200)
@errors {404, 500}

@endpoint GET /v1/workgroups/{workgroup_id}/workgroupMembers/{user_id}
@required {user_id: any}
@returns(200)
@errors {404, 500}

@endgroup

@end
