{"info":{"_postman_id":"c81b7efb-2222-4736-9572-7f6590468574","name":"OpenEnvoy API Docs","description":"
OpenEnvoy provides RESTful API to make integration possible from clients.
\nThis documentation will provide details about Authentication, API methods, Data inputs, outputs, formats and best practices. It covers the API endpoints for the below high level functionalities:
\nIf you are an existing customer, please contact our customer success team at support@openenvoy.com for client_id and auth_token.
Keep them in a secure place
\nAuthenticate each request by adding these details into header as below:
\nX-CLIENT-ID: {{client_id}}\nAuthorization: Bearer {{auth_token}}\n\nStandard HTTP response codes are returned with each request.
\nExample response codes:
\n2xx: Request is processed successful
\n4xx: Bad Request
\n5xx: Server error
\n","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Authentication","slug":"authentication"},{"content":"Errors","slug":"errors"}],"owner":"15538518","collectionId":"c81b7efb-2222-4736-9572-7f6590468574","publishedId":"TzRPjUnB","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"0c0"},"publishDate":"2024-03-05T16:36:27.000Z"},"item":[{"name":"Jobs","item":[{"name":"Get job details","id":"042fd320-1130-4bf2-9803-2afa8842b1ed","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"(Required) Client ID
\n","key":"X-CLIENT-ID","value":"Get Job Details by providing it's job number.
\n","urlObject":{"path":["jobs",":jobNumber"],"host":["https://backend.openenvoy.io/public/api/v1"],"query":[],"variable":[{"id":"d7035a88-534a-46da-8aa3-30f3c19c8bd9","description":{"content":"(Required) Job Number
\n","type":"text/plain"},"type":"any","value":"OE0001","key":"jobNumber"}]}},"response":[{"id":"0fba8c7a-e697-4b52-87cf-a0e2f480b847","name":"Job object","originalRequest":{"method":"GET","header":[{"description":"Added as a part of security scheme: apikey","key":"Authorization","value":"(Required) Client ID
\n","key":"X-CLIENT-ID","value":"(Required) Name of the provider
\n"},{"key":"Invoice","type":"file","description":"(Required) Invoice document
\n","contentType":"application/octet-stream","value":null}]},"url":"https://backend.openenvoy.io/public/api/v1/jobs/create","description":"This request initiates a new job creation and returns job number. Use this job number to make changes to this job. This request does not complete the create job operation, Upload job documents and \nMark job cretion complete need to be invoked to complete create job operation. Request payload maximum size allowed is 5MB.
\nIt is a multipart/form-data request which accepts one text field and one file field:
\nprovider_name: Name of the invoice provider
\nInvoice: Invoice file
\n(Required) Client ID
\n","key":"X-CLIENT-ID","value":"(Required) Baseline document
\n","contentType":"application/octet-stream","value":null}]},"url":"https://backend.openenvoy.io/public/api/v1/jobs/:jobNumber/upload","description":"This request uploads baseline job document(s) to an existing Job and returns job documents details. This request requires job number as path parameter that received from Initiate job creation. Request payload maximum allowed size is 5MB.
\nIt is a multipart/form-data request which accepts one or more file fields:
\n(Required) Job Number
\n","type":"text/plain"},"type":"any","value":"OE0001","key":"jobNumber"}]}},"response":[{"id":"f8aadc1b-d7f6-49ea-87a1-0217ad089968","name":"Job updated with new baseline document","originalRequest":{"method":"POST","header":[{"description":"Added as a part of security scheme: apikey","key":"Authorization","value":"(Required) Client ID
\n","key":"X-CLIENT-ID","value":"This request completes job creation process and notifies the associated people at OpenEnvoy. This request requires job number as path parameter that received from Initiate job creation. It does not require any body.
\n(Required) Job Number
\n","type":"text/plain"},"type":"any","value":"OE0001","key":"jobNumber"}]}},"response":[{"id":"660f433c-a37f-4a62-9e0c-8667f581ffe1","name":"Job creation is completed","originalRequest":{"method":"POST","header":[{"description":"Added as a part of security scheme: apikey","key":"Authorization","value":"(Required) Client ID
\n","key":"X-CLIENT-ID","value":"5f09d439-64b0-4a87-8019-dd9c60a69f82"},{"key":"Content-Type","value":"multipart/form-data"}],"body":{"mode":"formdata","formdata":[{"key":"document","value":"pariatur","type":"text","description":"(Required) Invoice/Baseline document
\n"}]},"url":"https://backend.openenvoy.io/public/api/v1/jobs/:jobNumber/job_documents/:documentId","description":"This request uploads a new version to an existing invoice/baseline job document. This request requires job number as path parameter that received from Initiate job creation and job document id that received from Upload job documents. Request payload maximum allowed size is 5MB.
\nIt is a multipart/form-data request which accepts one file field:
\n(Required) Job Number
\n","type":"text/plain"},"type":"any","value":"OE0001","key":"jobNumber"},{"id":"72d65471-2cee-4e23-aa66-0dc6fbd4bf4f","description":{"content":"(Required) Job Document unique ID
\n","type":"text/plain"},"type":"any","value":"2da0e29c-a173-4ada-942c-b8036b3d3a3b","key":"documentId"}]}},"response":[{"id":"3f7991ae-f805-4214-96c1-b0a9b13853c9","name":"Job document updated with new version","originalRequest":{"method":"PUT","header":[{"description":"Added as a part of security scheme: apikey","key":"Authorization","value":"The Job object represents a task that is created in OpenEnvoy for auditing an invoice. Each job is identified by a unique jobNumber in your workspace with fixed prefix as OE000 and followed by a sequential number.
e.g: OE0001, OE0002,..
Provide each request with X-CLIENT-ID and Authorization headers. Refer Authentication
This API will return all the details of active users associated with the company.
\n","urlObject":{"path":["users"],"host":["https://backend.openenvoy.io/public/api/v1"],"query":[],"variable":[]}},"response":[{"id":"007036ee-9ea1-49b7-9877-d30e3e7d55e1","name":"Get all users","originalRequest":{"method":"GET","header":[{"description":"Added as a part of security scheme: apikey","key":"Authorization","value":"An API for getting all the available roles
\n","urlObject":{"path":["roles"],"host":["https://backend.openenvoy.io/public/api/v1"],"query":[],"variable":[]}},"response":[{"id":"ee930d7e-4c4f-4223-ac04-31c8c2aec199","name":"Get all roles","originalRequest":{"method":"GET","header":[{"description":"Added as a part of security scheme: apikey","key":"Authorization","value":"API for getting a user with external id or internal user id (uuid). The priority will be external id > internal id. If no user is found, the API returns 404.
\n","urlObject":{"path":["users",":userId"],"host":["https://backend.openenvoy.io/public/api/v1"],"query":[],"variable":[{"type":"any","value":"external id | internal user id","key":"userId"}]}},"response":[{"id":"56b8d6ab-b0ec-4d12-a0b9-ec9d3a1fc78c","name":"Get single user","originalRequest":{"method":"GET","header":[{"description":"Added as a part of security scheme: apikey","key":"Authorization","value":"An API to update the details of the user.
\nUpdatable fields : first_name, last_name and active flag
An API to assign / revoke roles to a user.
\nif no role is provided, the user will be moved to viewer role (lowest privilege)
API to create the user.
\nPayload
\n","urlObject":{"path":["users",""],"host":["https://backend.openenvoy.io/public/api/v1"],"query":[],"variable":[]}},"response":[{"id":"df67dda3-bc7c-416a-9b63-e55b67138b39","name":"Create user","originalRequest":{"method":"POST","header":[{"key":"","value":"","disabled":true},{"key":"X-CLIENT-ID","value":"client id"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n \"first_name\": \"sample\",\n \"last_name\": \"user\",\n \"email\": \"sampleuser@openenvoy.com\",\n \"role\": \"sample-role-id\",\n \"external_id\": \"sample-external-id\",\n \"identity_type\": \"Google\",\n \"mobile\": \"+145388285\"\n}","options":{"raw":{"language":"json"}}},"url":"https://backend.openenvoy.io/public/api/v1/users/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n {\n \"id\": \"c268e82f-c9b7-4583-9094-b4df4740f3e4\",\n \"email\": \"sampleuser@openenvoy.com\",\n \"name\": {\n \"first_name\": \"sample\",\n \"last_name\": \"user\"\n },\n \"role\": {\n \"id\": \"d25704a9-e2cd-4fe8-a060-005aba288ad6\",\n \"name\": \"Viewer\"\n },\n \"active\": true,\n \"external_id\": \"sample-external-id\",\n \"created_at\": \"2023-07-13T12:28:05.268Z\",\n \"updated_at\": \"2023-07-13T12:28:05.268Z\",\n \"mobile\": \"+145388285\",\n \"identity_type\": \"Google\"\n }\n]"},{"id":"750fd377-1bb6-43fc-87a4-296609a51659","name":"Bad request: Email exists","originalRequest":{"method":"POST","header":[{"key":"","value":"","disabled":true},{"key":"X-CLIENT-ID","value":"client id"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n \"first_name\": \"sample\",\n \"last_name\": \"user - 2\",\n \"email\": \"sampleuser@openenvoy.com\",\n \"role\": \"sample-role-id\",\n \"external_id\": \"sample-external-id-2\",\n \"identity_type\": \"Google\",\n \"mobile\": \"+145388285\"\n}","options":{"raw":{"language":"json"}}},"url":"https://backend.openenvoy.io/public/api/v1/external/users/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"code\": \"invalid\",\n \"details\": {\n \"name\": \"ValidationError\",\n \"value\": {},\n \"errors\": [\n \"Email already exists. Please try again.\"\n ],\n \"inner\": [\n {\n \"name\": \"ValidationError\",\n \"path\": \"email\",\n \"type\": \"E00001\",\n \"errors\": [],\n \"inner\": [],\n \"message\": \"Email already exists. Please try again.\",\n \"params\": []\n }\n ],\n \"message\": \"Email already exists. Please try again.\"\n },\n \"message\": \"Email already exists. Please try again.\"\n}"},{"id":"d59d322c-ce8e-4778-a0da-4810734984ff","name":"Bad request: External ID exists","originalRequest":{"method":"POST","header":[{"key":"","value":"","disabled":true},{"key":"X-CLIENT-ID","value":"client id"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n \"first_name\": \"sample\",\n \"last_name\": \"user-2\",\n \"email\": \"sampleuser-2@openenvoy.com\",\n \"role\": \"sample-role-id\",\n \"external_id\": \"sample-external-id\",\n \"identity_type\": \"Google\",\n \"mobile\": \"+145388285\"\n}","options":{"raw":{"language":"json"}}},"url":"https://backend.openenvoy.io/public/api/v1/external/users/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"code\": \"invalid\",\n \"details\": {\n \"name\": \"ValidationError\",\n \"value\": {},\n \"errors\": [\n \"External Id already exists\"\n ],\n \"inner\": [\n {\n \"name\": \"ValidationError\",\n \"path\": \"external_id\",\n \"type\": \"E00001\",\n \"errors\": [],\n \"inner\": [],\n \"message\": \"External Id already exists\",\n \"params\": []\n }\n ],\n \"message\": \"External Id already exists\"\n },\n \"message\": \"External Id already exists\"\n}"}],"_postman_id":"8df8f174-8bdf-4815-878a-4ed4bc102bdd"}],"id":"03da9336-a4e9-4f85-a19a-beb19868d901","description":"API collection for modifying the users of a company
\n","_postman_id":"03da9336-a4e9-4f85-a19a-beb19868d901"},{"name":"JobsV2","item":[{"name":"Get Job Details","id":"240a547f-4694-4dd1-b2b9-73c054f962af","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"