{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"1cfffeac-8425-40ce-8fb2-4b1d0a28d8a4","name":"Eclipse Client Gateway - Documentation","description":"# EclipseNG Public API Endpoints\n\n# Authorisation\n\nThe endpoints require a valid bearer token to access.  \nInformation on how to generate tokens is issued by our support team.\n\n# Endpoint URLs\n\nIn the examples below, the endpoints are all relative URLs.  \nIf an example is opened in POSTMAN, a {mainUrl} variable is already prepended to the endpoints, which you will want to provide in your environment.\n\nWhen calling from code, this value will want to be prepended manually.\n\nThe {mainUrl} value takes the format:  \n{customerEclipseUrl}/ClientGateway/api/\n\n# Standard Response Wrapper\n\nAll success responses from this API are wrapped in a common object\n\n### ReturnModel\n\n- The object returned by the endpoint (if any)\n    \n\n### JobNumber\n\n- Nullable long datatype\n    \n- Indiciates the job number if the endpoint started a long running job\n    \n\n### MayRequireRerate\n\n- Boolean\n    \n- Indicates if the operation performed has made changes to the data that may require a rerate. This would require a separate request to be peformed to request the rerate.\n    \n\n_Model Example:_\n\n``` json\n{\n     \"ReturnModel\": <Object Returned By Endpoint>,\n     \"JobNumber\": <long?>,\n     \"MayRequireRerate\": false\n}\n\n ```\n\n# Paged Endpoints\n\n\"Paged search\" is our standardised method for returning data from the API. These endpoints allow filtering by any field returned in the parent object of the response model (nested objects are not supported), and some flexibility in how these filters are combined.  \nThis flexibility should cover most data retrieval scenarios.\n\n_Example Explanation:_\n\nThe example model below will result in data being returned where\n\n- Description is Equal To \"London CLI\"\n    \n- and\n    \n- Phonenumber Contains \"020\"\n    \n\nOR\n\n- Description Equal To \"Manchester CLI\"\n    \n- and\n    \n- Phonenumber Contains \"0161\"\n    \n\nThe example model below will sort the data by LastUpdated Descending\n\n_Model Example:_\n\n``` json\n{\n    \"GroupedFilterExpressions\": [\n        {\n            \"FilterExpressions\":\n            [\n                {\n                    \"FieldName\": \"Description\",\n                    \"FieldValue\": \"London CLI\",\n                    \"FilterFunction\": \"EqualTo\"\n                },\n                {\n                    \"FieldName\": \"Phonenumber\",\n                    \"FieldValue\": \"020\",\n                    \"FilterFunction\": \"Contains\"\n                }\n            ]\n        },\n        {\n            \"FilterExpressions\":\n            [\n                {\n                    \"FieldName\": \"Description\",\n                    \"FieldValue\": \"Manchester CLI\",\n                    \"FilterFunction\": \"EqualTo\"\n                },\n                {\n                    \"FieldName\": \"Phonenumber\",\n                    \"FieldValue\": \"0161\",\n                    \"FilterFunction\": \"Contains\"\n                }\n            ]\n        }\n    ],\n    \"FilterExpressionsUsingOR\": true,\n    \"SortExpressions\": [\n        {\n            \"FieldName\": \"LastUpdated\",\n            \"SortOrder\": 2\n        }\n    ],\n    \"PageNumber\": 1,\n    \"PageSize\": 500\n}\n\n ```\n\n## _**Fields**_\n\n### _PageNumber_\n\n- Mandatory\n    \n- 1 based integer\n    \n\n### _PageSize_\n\n- Mandatory\n    \n- Max 1000\n    \n\n### _GroupedFilterExpressions_\n\n- Optional array\n    \n    - FilterExpressions\n        \n        - Array of One or more _FilterExpression_ model\n            \n    - FilterExpressionsUsingOR\n        \n        - Optional\n            \n        - Defaults to false\n            \n        - Operates on the Filter Expressions within the group\n            \n\n### FilterExpresssionsUsingOr\n\n- Optional\n    \n- Defaults to false\n    \n- Operaties on the Grouped Filter Expressions\n    \n\n### SortExpressions\n\n- Optional\n    \n- Defaults to data appropriate value (generally the id)\n    \n- Can combine any return field\n    \n\n## _**Additional Resources**_\n\n### _Filter Function_\n\nIndividual filter expressions allowing filtering on fields. The FilterFunction can be one of the following values:\n\n- Contains\n    \n- DoesNotContain\n    \n- StartsWith\n    \n- EndsWith\n    \n- EqualTo\n    \n- NotEqualTo\n    \n- GreaterThan\n    \n- LessThan\n    \n- GreaterThanOrEqualTo\n    \n- LessThanOrEqualTo\n    \n- IsEmpty\n    \n    - Does not require FieldValue\n        \n- NotIsEmpty\n    \n    - Does not require FieldValue\n        \n- IsNull\n    \n    - Does not require FieldValue\n        \n- NotIsNull\n    \n    - Does not require FieldValue\n        \n- In\n    \n    - Expects data in a comma delimited list\n        \n    - Non numeric fields should have values qualified with \"\n        \n- IsNotIn\n    \n    - Expects data in a comma delimited list\n        \n    - Non numeric fields should have values qualified with \"\n        \n\nYou should consider the function you are attempting to use and whether it is appropriate for the data value you are attempting to search by.\n\ni.e. If you are searching on a date field, the StartsWith filter function would not be suitable.\n\n### _Sort Order_\n\n- Ascending = 1\n    \n- Descending = 2\n    \n\n# Validation Return Model\n\nWhen invalid data is received, we will return it in a standardised format (HTTP 400).  \nThis matches validation errors auto generated by the framework we use for consistency.\n\n_Model Example:_\n\n``` json\n{\n  \"type\": \"https://tools.ietf.org/html/rfc7231#section-6.5.1\",\n  \"title\": \"One or more validation errors occurred.\",\n  \"status\": 400,\n  \"traceid\": \"\",\n  \"errors\": {\n    \"ErrorHeader\": [\n      \"Error Description 1\",\n      \"Error Description 2\"\n     ],\n     \"ErrorHeader2\": [\n      \"Error Description 3\"\n     ]\n  }\n}\n\n ```\n\nRelevant endpoints have mandatory fields stated but may require additional fields to be provided based on validation, which may differ for each endpoint.\n\n# Endpoint Deprecation\n\nThe Eclipse APIs are constantly being developed. Where a change is made that requires an endpoint to be deprecated, a header will be included in the response indicating that the endpoint is obsolete & when it will be removed completely.  \nWhere an alternative is available, the documenation should indicate this.\n\n### Header\n\nIf the obsolete header is returned, on or before the date, the endpoint will continue to operate as normal.  \nAfter this date, the endpoint will return a HTTP 403 response\n\n_Example Header Value:_\n\n``` json\n{\n     \"Obsolete\": \"2024-03-26\"\n}\n\n ```\n\n_Example 403 Response:_\n\n``` json\n{\n  \"type\": \"https://tools.ietf.org/html/rfc7231#section-6.5.1\",\n  \"title\": \"One or more validation errors occurred.\",\n  \"status\": 400,\n  \"traceid\": \"\",\n  \"errors\": {\n    \"Endpoint no longer available\": [\n      \"This end point is no longer accessible as the obsolete date: 2024-03-26 has passed.\"\n    ]\n  }\n}\n\n ```","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"50512230","team":2053486,"collectionId":"1cfffeac-8425-40ce-8fb2-4b1d0a28d8a4","publishedId":"2sBXcAKNxB","public":true,"publicUrl":"https://apiv2-doc.eclipse-billing.co.uk","privateUrl":"https://go.postman.co/documentation/50512230-1cfffeac-8425-40ce-8fb2-4b1d0a28d8a4","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.10.1","publishDate":"2026-02-23T16:52:48.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/4a31687a7838401b4e2108f73dfcbdbdb12bd25df330f971fb86d445da4185aa","favicon":"https://eclipse-billing.co.uk/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://apiv2-doc.eclipse-billing.co.uk/view/metadata/2sBXcAKNxB"}