openapi: 3.0.0 info: title: NVMS Exchange (REST) description: | API web services for integrating with NVMS, Inc. contact: name: NVMS, Inc. url: http://www.nvms.com email: support@nvms.com version: 2.5-oas3 servers: - url: https://api.nvms.com description: Production Server URL - url: https://sandbox.nvms.com description: Testing server URL tags: - name: New Orders description: Submit new orders to NVMS - name: Lists description: Order and definition listings - name: Results description: Get order final results security: - bearerAuth: [] paths: /exchange/NewOrders: post: tags: - New Orders summary: Adds a new inspection order item description: Submit a new inspection order to NVMS requestBody: description: JSON Body String content: application/json: schema: $ref: '#/components/schemas/Orders' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '501': description: Server Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' /exchange/NewDrawOrder: post: tags: - New Orders summary: Adds a new draw order item description: Submit a new draw order to NVMS requestBody: description: JSON Body String content: application/json: schema: $ref: '#/components/schemas/DrawOrders' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '501': description: Server Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' /exchange/SingleOrderStatus: post: tags: - Lists summary: Get single order status for query description: Pass in a NVMS Order ID reference or FileNumber reference to search requestBody: description: JSON Body String content: application/json: schema: $ref: '#/components/schemas/SearchObject' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '501': description: Server Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' /exchange/ClientServices: get: tags: - Lists summary: Get a list of services currently available on your account description: No parameters responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '501': description: Server Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' /exchange/ClientJobNotes: post: tags: - Lists summary: Get a list of job notes for given order description: Pass in a NVMS Order ID reference or FileNumber reference to search requestBody: description: JSON Body String content: application/json: schema: $ref: '#/components/schemas/SearchObject' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '501': description: Server Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' /exchange/OpenJobList: get: tags: - Lists summary: Get a list of open jobs on your account description: No parameters responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '501': description: Server Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' /exchange/OrderReport: post: tags: - Results summary: Get order details with photos description: Pass in a NVMS Order ID reference or FileNumber reference for results requestBody: description: JSON Body String content: application/json: schema: $ref: '#/components/schemas/SearchObject' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '501': description: Server Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' /exchange/ReportPDF: post: tags: - Results summary: Get order results as a PDF document description: Pass in a NVMS Order ID reference or FileNumber reference for results requestBody: description: JSON Body String content: application/json: schema: $ref: '#/components/schemas/SearchObject' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '501': description: Server Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' /exchange/ReportPhotos: post: tags: - Results summary: Get all order photo attachments description: Pass in a NVMS Order ID reference or FileNumber reference for results requestBody: description: JSON Body String content: application/json: schema: $ref: '#/components/schemas/SearchObject' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '501': description: Server Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' /exchange/DrawItems: post: tags: - Results summary: Get draw item details for given NVMS Job ID description: Pass in a NVMS Order ID reference for results requestBody: description: JSON Body String content: application/json: schema: $ref: '#/components/schemas/SearchObject' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '501': description: Server Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' /exchange/FullDrawExport: post: tags: - Results summary: Get full draw item details of all property draws for given NVMS Job ID description: Pass in a NVMS Order ID reference for results requestBody: description: JSON Body String content: application/json: schema: $ref: '#/components/schemas/SearchObject' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '401': description: Authentication Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' '501': description: Server Error content: application/json: schema: $ref: '#/components/schemas/MessageResponse' components: securitySchemes: bearerAuth: # <-- arbitrary name for the security scheme type: http scheme: bearer schemas: Orders: type: array items: $ref: '#/components/schemas/orders_inner' orders_inner: required: - FileNumber - PropAddress - PropCity - PropOwner - PropState - PropZip - Services - UserID properties: FileNumber: type: string description: Your unique property id (required) example: TEST1234 PropOwner: type: string description: Property owner name or address (required) example: John Doe PropAddress: type: string description: Property street address (required) example: 123 Main Street PropCity: type: string description: Property city name (required) example: Anytown PropState: type: string description: Property state abbreviation (required) example: VA PropZip: type: string description: Property five digit zip code (required) example: '20112' UserID: type: integer description: User account of person placing this order example: 9283 PONumber: type: string description: Your customer PO Number if applicable dbaName: type: string description: DBA value of your account reference PropDesc: type: string description: Property description AccContact: type: string description: Account contact name AccMobile: type: string description: Contact mobile phone number AccHome: type: string description: Contact home phone number AccWork: type: string description: Contact work phone number AccEmail: type: string description: Contact email address (separate multiple with semi-colons) CallbackReference: type: string description: Webhook URL that we will ping when order is completed Notes: type: string description: Inspection notes and/or instructions Services: type: string description: >- Service ids of services you are ordering. Separate multiple with a comma (required) ReportHTML: type: string description: Report that will be returned with the final PDF report DrawOrders: type: array items: $ref: '#/components/schemas/draw_orders_inner' draw_orders_inner: required: - FileNumber - PropAddress - PropCity - PropOwner - PropState - PropZip - Services - UserID properties: FileNumber: type: string description: Your unique property id (required) example: TEST1234 PropOwner: type: string description: Property owner name or address (required) example: John Doe PropAddress: type: string description: Property street address (required) example: 123 Main Street PropCity: type: string description: Property city name (required) example: Anytown PropState: type: string description: Property state abbreviation (required) example: VA PropZip: type: string description: Property five digit zip code (required) example: '20112' UserID: type: integer description: User account of person placing this order example: 9283 PONumber: type: string description: Your customer PO Number if applicable dbaName: type: string description: DBA value of your account reference PropDesc: type: string description: Property description AccContact: type: string description: Account contact name AccMobile: type: string description: Contact mobile phone number AccHome: type: string description: Contact home phone number AccWork: type: string description: Contact work phone number AccEmail: type: string description: Contact email address (separate multiple with semi-colons) CallbackReference: type: string description: Webhook URL that we will ping when order is completed Notes: type: string description: Inspection notes and/or instructions Services: type: string description: Service ids of services you are ordering. Separate multiple with a comma (required) ReportHTML: type: string description: Report that will be returned with the final PDF report DrawItemsList: type: array description: When re-ordering a draw for the same FileNumber, leave this field as a blank array and we will reorder the same draw items as in first draw items: $ref: '#/components/schemas/draw_items' draw_items: description: Order draw items properties: DrawReference: type: string description: Your unique draw item reference example: '98412' DrawItem: type: string description: The draw item name example: Kitchen Cabinets DrawDescription: type: string description: The draw item description example: White cabiniets installed with chrome handles DrawBudget: type: string description: The draw item budget amount example: 5,000 SearchObject: description: Object group used for searching orders properties: NVMSJobID: type: integer FileNumber: type: string PONumber: type: string MessageResponse: description: API Message response object properties: code: type: string description: HTTP code returned example: 200 message: type: string description: Any error message description example: There was an error processing transaction status: type: string description: Status string of request example: Success/NoRecords/Error errors: type: array description: Multiple error description array example: Some error here results: type: string description: JSON String of query results example: JSON array here ResultReference: type: array description: Array of new order results example: [Filenumber: 133244, OrderID: 298383, Link: Link to order page on NVMS site]