veracity-myservices [updated with breaking changes without notice]

API change history

The Veracity Services API provides information about the currently logged in user (my) and your application in general (this). To call these APIs you need to have an access token for the current user as well as a subscription key. The former can be retrieved once a user authenticates with your application while the latter can be found in the Veracity for Developers resource portal. Head over to https://developer.veracity.com/projects and create an Application resource there to create a subscription key for your application. You can read more about how to authenticate users from your application in the Identity documentation.

Grouping

The API is grouped into 3 distinct sections, each with their own intent.

  • My: Return information about the currently logged in used as defined by their access token.
  • This: Return information about your application.
  • Options: These endpoints are for maintenance purposes. Do not use.

As the API requires the use of an access token unique to a user many of the endpoints will include information specific to that user. E.g.: the /my/profile endpoint will return profile information for that user without any additional query parameters as the users is identified by their access token.

Multiple root urls

The API is versioned in order to provide a consistent contract for your application to call. You can decide yourself if you want to use one or the other. The APIs describe on this page will always be the latest version.

  • https://api.veracity.com/veracity/services/v3

Veracity commits to actively support the latest version of the API as well as the next previous version. This currently means v3 and v2 of the Veracity Services API.

StatusService_GetServiceHealthStatus

Returns 200 when all dependencies are ok, 424 if there are some non essential dependency failures and 500 when essential dependencies are unreachable or the service is down

Try it

Request

Request URL

Request headers

  • (optional)
    string

    Provide a correlation token for log lookup. This is optional.

  • (optional)
    string

    Veracity api management subscription key

  • string
    Subscription key which provides access to this API. Found in your Profile.
  • string
    OAuth 2.0 access token obtained from B2C PROD OAuth - v2 endpoint. Supported grant types: Authorization code.

Request body

Responses

200 OK

OK

Response headers

  • (optional)
    string

    correlation token for log lookup.

Representations

{
  "checks": [
    {
      "componentId": "string",
      "componentType": "string",
      "observedValue": {},
      "observedUnit": "string",
      "status": "pass",
      "affectedEndpoints": [
        "string"
      ],
      "time": "string",
      "output": "string",
      "weight": 0,
      "critical": true
    }
  ],
  "status": "pass",
  "serviceId": "string",
  "releaseId": "string",
  "version": "string",
  "description": "string",
  "notes": [
    "string"
  ],
  "output": "string",
  "message": "string",
  "information": "string",
  "subCode": 0,
  "supportCode": "string"
}
{
  "required": [
    "status",
    "subCode"
  ],
  "type": "object",
  "properties": {
    "checks": {
      "description": "List of dependencies probed. Like database connections and such",
      "type": "array",
      "items": {
        "required": [
          "status",
          "weight",
          "critical"
        ],
        "type": "object",
        "properties": {
          "componentId": {
            "description": "componentId: (optional) is a unique identifier of an instance of a\r\n specific sub-component/dependency of a service.Multiple objects\r\n  with the same componentID MAY appear in the details, if they are from\r\n  different nodes. Use well know references to 1st party veracity components like \"v3\" if you are probing the V3 connection.",
            "type": "string",
            "x-nullable": true
          },
          "componentType": {
            "description": " componentType: (optional) SHOULD be present if componentName is\r\npresent.It's a type of the component and could be one of:\r\n\r\no Pre-defined value from this spec.Pre-defined values include:\r\n\r\n*  component\r\n\r\n    * datastore\r\n\r\n*  system\r\n\r\n    o  A common and standard term from a well-known source such as\r\n\r\nschema.org, IANA or microformats.\r\n\r\n    o A URI that indicates extra semantics and processing rules that MAY\r\n\r\nbe provided by a resource at the other end of the URI.  URIs do\r\n\r\nnot have to be dereferenceable, however.They are just a\r\nnamespace, and the meaning of a namespace CAN be provided by any\r\n    convenient means(e.g.publishing an RFC, Swagger document or a\r\nnicely printed book).",
            "type": "string",
            "x-nullable": true
          },
          "observedValue": {
            "description": "observedValue: (optional) could be any valid JSON value, such as:\r\nstring, number, object, array or literal.",
            "type": "object",
            "x-nullable": true
          },
          "observedUnit": {
            "description": "observedUnit (optional) SHOULD be present if observedValue is\r\npresent.Clarifies the unit of measurement in which observedUnit is\r\nreported, e.g. for a time-based value it is important to know whether\r\nthe time is reported in seconds, minutes, hours or something else.\r\nTo make sure unit is denoted by a well-understood name or an\r\nabbreviation, it SHOULD be one of:\r\n\r\n- A common and standard term from a well-known source such as\r\nschema.org, IANA, microformats, or a standards document such as\r\n[RFC3339].\r\n\r\n- A URI that indicates extra semantics and processing rules that MAY\r\nbe provided by a resource at the other end of the URI.URIs do\r\nnot have to be dereferenceable, however.They are just a\r\nnamespace, and the meaning of a namespace CAN be provided by any\r\n    convenient means(e.g.publishing an RFC, Swagger document or a\r\nnicely printed book).",
            "type": "string",
            "x-nullable": true
          },
          "status": {
            "description": "status (optional) has the exact same meaning as the top-level\r\n\"output\" element, but for the sub-component/downstream dependency\r\nrepresented by the details object.",
            "enum": [
              "pass",
              "warn",
              "fail"
            ],
            "type": "string",
            "x-ms-enum": {
              "name": "HealthStateTypes",
              "modelAsString": false
            },
            "x-nullable": false
          },
          "affectedEndpoints": {
            "description": "affectedEndpoints (optional) is a JSON array containing URI Templates\r\nas defined by[RFC6570].  This field SHOULD be omitted if the\r\n\"status\" field is present and has value equal to \"pass\".  A typical\r\nAPI has many URI endpoints.Most of the time we are interested in\r\nthe overall health of the API, without diving into details.That\r\n    said, sometimes operational and resilience middleware needs to know\r\n    more details about the health of the API(which is why \"checks\"\r\nproperty provides details).  In such cases, we often need to indicate\r\n    which particular endpoints are affected by a particular check's\r\ntroubles vs.other endpoints that may be fine.",
            "type": "array",
            "items": {
              "type": "string",
              "x-nullable": true
            },
            "x-nullable": true
          },
          "time": {
            "format": "date-time",
            "description": "time (optional) is the date-time, in ISO8601 format, at which the\r\nreading of the observedValue was recorded.This assumes that the\r\n   value can be cached and the reading typically doesn't happen in real\r\n            \r\n   time, for performance and scalability purposes.",
            "type": "string",
            "x-nullable": true
          },
          "output": {
            "description": "output (optional) has the exact same meaning as the top-level\r\n\"output\" element, but for the sub-component/downstream dependency\r\nrepresented by the details object.  As is the case for the top-level\r\n    element, this field SHOULD be omitted for \"pass\" state of a\r\n    downstream dependency.",
            "type": "string",
            "x-nullable": true
          },
          "weight": {
            "format": "int32",
            "description": "A numeric value (1,2 or 3) to represent the weighting of the dependency in the overall sla calculation",
            "type": "integer",
            "x-nullable": false
          },
          "critical": {
            "type": "boolean",
            "x-nullable": false
          }
        },
        "x-nullable": true
      },
      "x-nullable": true
    },
    "status": {
      "description": " status: (required) indicates whether the service status is acceptable\r\nor not.API publishers SHOULD use following values for the field:\r\n            \r\n            \r\no  \"pass\": healthy (acceptable aliases: \"ok\" to support Node's\r\n            \r\nTerminus and \"up\" for Java's SpringBoot),\r\n            \r\n            \r\no  \"fail\": unhealthy (acceptable aliases: \"error\" to support Node's\r\n            \r\nTerminus and \"down\" for Java's SpringBoot), and\r\n            \r\n            \r\n    o  \"warn\": healthy, with some concerns.\r\n            \r\n    The value of the status field is case-insensitive and is tightly\r\n    related with the HTTP response code returned by the health endpoint.\r\n            \r\n    For \"pass\" status, HTTP response code in the 2xx-3xx range MUST be\r\n            \r\nused.For \"fail\" status, HTTP response code in the 4xx-5xx range\r\n            \r\nMUST be used.In case of the \"warn\" status, endpoints MUST return\r\n            \r\nHTTP status in the 2xx-3xx range, and additional information SHOULD\r\n            \r\n    be provided, utilizing optional fields of the response.\r\n            \r\n            \r\n    A health endpoint is only meaningful in the context of the component\r\n    it indicates the health of.  It has no other meaning or purpose.As\r\nsuch, its health is a conduit to the health of the component.\r\n            \r\n    Clients SHOULD assume that the HTTP response code returned by the\r\nhealth endpoint is applicable to the entire component (e.g.a larger\r\n            \r\n    API or a microservice).  This is compatible with the behavior that\r\n    current infrastructural tooling expects: load-balancers, service\r\n    discoveries and others, utilizing health-checks.",
      "enum": [
        "pass",
        "warn",
        "fail"
      ],
      "type": "string",
      "x-ms-enum": {
        "name": "HealthStateTypes",
        "modelAsString": false
      },
      "x-nullable": false
    },
    "serviceId": {
      "description": "serviceId: (required) identifies the service. Use ids like: identityApi, V3 or any other commonly used names for the service in question.",
      "type": "string",
      "x-nullable": true
    },
    "releaseId": {
      "description": " releaseId: (optional) in well-designed APIs, backwards-compatible\r\nchanges in the service should not update a version number.APIs\r\n\r\nusually change their version number as infrequently as possible, to\r\npreserve stable interface.  However, implementation of an API may\r\n    change much more frequently, which leads to the importance of having\r\n    separate \"release number\" or \"releaseId\" that is different from the\r\npublic version of the API.",
      "type": "string",
      "x-nullable": true
    },
    "version": {
      "description": "version: (optional) public version of the service.",
      "type": "string",
      "x-nullable": true
    },
    "description": {
      "description": " description (optional) is a human-friendly description of the\r\nservice.",
      "type": "string",
      "x-nullable": true
    },
    "notes": {
      "description": "notes: (optional) array of notes relevant to current state of health",
      "type": "array",
      "items": {
        "type": "string",
        "x-nullable": true
      },
      "x-nullable": true
    },
    "output": {
      "description": "output: (optional) raw error output, in case of \"fail\" or \"warn\"\r\nstates.This field SHOULD be omitted for \"pass\" state.",
      "type": "string",
      "x-nullable": true
    },
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
{
  "checks": [
    {
      "componentId": "string",
      "componentType": "string",
      "observedValue": {},
      "observedUnit": "string",
      "status": "pass",
      "affectedEndpoints": [
        "string"
      ],
      "time": "string",
      "output": "string",
      "weight": 0,
      "critical": true
    }
  ],
  "status": "pass",
  "serviceId": "string",
  "releaseId": "string",
  "version": "string",
  "description": "string",
  "notes": [
    "string"
  ],
  "output": "string",
  "message": "string",
  "information": "string",
  "subCode": 0,
  "supportCode": "string"
}
{
  "required": [
    "status",
    "subCode"
  ],
  "type": "object",
  "properties": {
    "checks": {
      "description": "List of dependencies probed. Like database connections and such",
      "type": "array",
      "items": {
        "required": [
          "status",
          "weight",
          "critical"
        ],
        "type": "object",
        "properties": {
          "componentId": {
            "description": "componentId: (optional) is a unique identifier of an instance of a\r\n specific sub-component/dependency of a service.Multiple objects\r\n  with the same componentID MAY appear in the details, if they are from\r\n  different nodes. Use well know references to 1st party veracity components like \"v3\" if you are probing the V3 connection.",
            "type": "string",
            "x-nullable": true
          },
          "componentType": {
            "description": " componentType: (optional) SHOULD be present if componentName is\r\npresent.It's a type of the component and could be one of:\r\n\r\no Pre-defined value from this spec.Pre-defined values include:\r\n\r\n*  component\r\n\r\n    * datastore\r\n\r\n*  system\r\n\r\n    o  A common and standard term from a well-known source such as\r\n\r\nschema.org, IANA or microformats.\r\n\r\n    o A URI that indicates extra semantics and processing rules that MAY\r\n\r\nbe provided by a resource at the other end of the URI.  URIs do\r\n\r\nnot have to be dereferenceable, however.They are just a\r\nnamespace, and the meaning of a namespace CAN be provided by any\r\n    convenient means(e.g.publishing an RFC, Swagger document or a\r\nnicely printed book).",
            "type": "string",
            "x-nullable": true
          },
          "observedValue": {
            "description": "observedValue: (optional) could be any valid JSON value, such as:\r\nstring, number, object, array or literal.",
            "type": "object",
            "x-nullable": true
          },
          "observedUnit": {
            "description": "observedUnit (optional) SHOULD be present if observedValue is\r\npresent.Clarifies the unit of measurement in which observedUnit is\r\nreported, e.g. for a time-based value it is important to know whether\r\nthe time is reported in seconds, minutes, hours or something else.\r\nTo make sure unit is denoted by a well-understood name or an\r\nabbreviation, it SHOULD be one of:\r\n\r\n- A common and standard term from a well-known source such as\r\nschema.org, IANA, microformats, or a standards document such as\r\n[RFC3339].\r\n\r\n- A URI that indicates extra semantics and processing rules that MAY\r\nbe provided by a resource at the other end of the URI.URIs do\r\nnot have to be dereferenceable, however.They are just a\r\nnamespace, and the meaning of a namespace CAN be provided by any\r\n    convenient means(e.g.publishing an RFC, Swagger document or a\r\nnicely printed book).",
            "type": "string",
            "x-nullable": true
          },
          "status": {
            "description": "status (optional) has the exact same meaning as the top-level\r\n\"output\" element, but for the sub-component/downstream dependency\r\nrepresented by the details object.",
            "enum": [
              "pass",
              "warn",
              "fail"
            ],
            "type": "string",
            "x-ms-enum": {
              "name": "HealthStateTypes",
              "modelAsString": false
            },
            "x-nullable": false
          },
          "affectedEndpoints": {
            "description": "affectedEndpoints (optional) is a JSON array containing URI Templates\r\nas defined by[RFC6570].  This field SHOULD be omitted if the\r\n\"status\" field is present and has value equal to \"pass\".  A typical\r\nAPI has many URI endpoints.Most of the time we are interested in\r\nthe overall health of the API, without diving into details.That\r\n    said, sometimes operational and resilience middleware needs to know\r\n    more details about the health of the API(which is why \"checks\"\r\nproperty provides details).  In such cases, we often need to indicate\r\n    which particular endpoints are affected by a particular check's\r\ntroubles vs.other endpoints that may be fine.",
            "type": "array",
            "items": {
              "type": "string",
              "x-nullable": true
            },
            "x-nullable": true
          },
          "time": {
            "format": "date-time",
            "description": "time (optional) is the date-time, in ISO8601 format, at which the\r\nreading of the observedValue was recorded.This assumes that the\r\n   value can be cached and the reading typically doesn't happen in real\r\n            \r\n   time, for performance and scalability purposes.",
            "type": "string",
            "x-nullable": true
          },
          "output": {
            "description": "output (optional) has the exact same meaning as the top-level\r\n\"output\" element, but for the sub-component/downstream dependency\r\nrepresented by the details object.  As is the case for the top-level\r\n    element, this field SHOULD be omitted for \"pass\" state of a\r\n    downstream dependency.",
            "type": "string",
            "x-nullable": true
          },
          "weight": {
            "format": "int32",
            "description": "A numeric value (1,2 or 3) to represent the weighting of the dependency in the overall sla calculation",
            "type": "integer",
            "x-nullable": false
          },
          "critical": {
            "type": "boolean",
            "x-nullable": false
          }
        },
        "x-nullable": true
      },
      "x-nullable": true
    },
    "status": {
      "description": " status: (required) indicates whether the service status is acceptable\r\nor not.API publishers SHOULD use following values for the field:\r\n            \r\n            \r\no  \"pass\": healthy (acceptable aliases: \"ok\" to support Node's\r\n            \r\nTerminus and \"up\" for Java's SpringBoot),\r\n            \r\n            \r\no  \"fail\": unhealthy (acceptable aliases: \"error\" to support Node's\r\n            \r\nTerminus and \"down\" for Java's SpringBoot), and\r\n            \r\n            \r\n    o  \"warn\": healthy, with some concerns.\r\n            \r\n    The value of the status field is case-insensitive and is tightly\r\n    related with the HTTP response code returned by the health endpoint.\r\n            \r\n    For \"pass\" status, HTTP response code in the 2xx-3xx range MUST be\r\n            \r\nused.For \"fail\" status, HTTP response code in the 4xx-5xx range\r\n            \r\nMUST be used.In case of the \"warn\" status, endpoints MUST return\r\n            \r\nHTTP status in the 2xx-3xx range, and additional information SHOULD\r\n            \r\n    be provided, utilizing optional fields of the response.\r\n            \r\n            \r\n    A health endpoint is only meaningful in the context of the component\r\n    it indicates the health of.  It has no other meaning or purpose.As\r\nsuch, its health is a conduit to the health of the component.\r\n            \r\n    Clients SHOULD assume that the HTTP response code returned by the\r\nhealth endpoint is applicable to the entire component (e.g.a larger\r\n            \r\n    API or a microservice).  This is compatible with the behavior that\r\n    current infrastructural tooling expects: load-balancers, service\r\n    discoveries and others, utilizing health-checks.",
      "enum": [
        "pass",
        "warn",
        "fail"
      ],
      "type": "string",
      "x-ms-enum": {
        "name": "HealthStateTypes",
        "modelAsString": false
      },
      "x-nullable": false
    },
    "serviceId": {
      "description": "serviceId: (required) identifies the service. Use ids like: identityApi, V3 or any other commonly used names for the service in question.",
      "type": "string",
      "x-nullable": true
    },
    "releaseId": {
      "description": " releaseId: (optional) in well-designed APIs, backwards-compatible\r\nchanges in the service should not update a version number.APIs\r\n\r\nusually change their version number as infrequently as possible, to\r\npreserve stable interface.  However, implementation of an API may\r\n    change much more frequently, which leads to the importance of having\r\n    separate \"release number\" or \"releaseId\" that is different from the\r\npublic version of the API.",
      "type": "string",
      "x-nullable": true
    },
    "version": {
      "description": "version: (optional) public version of the service.",
      "type": "string",
      "x-nullable": true
    },
    "description": {
      "description": " description (optional) is a human-friendly description of the\r\nservice.",
      "type": "string",
      "x-nullable": true
    },
    "notes": {
      "description": "notes: (optional) array of notes relevant to current state of health",
      "type": "array",
      "items": {
        "type": "string",
        "x-nullable": true
      },
      "x-nullable": true
    },
    "output": {
      "description": "output: (optional) raw error output, in case of \"fail\" or \"warn\"\r\nstates.This field SHOULD be omitted for \"pass\" state.",
      "type": "string",
      "x-nullable": true
    },
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
<HealthStatus>
  <checks>
    <componentId>string</componentId>
    <componentType>string</componentType>
    <observedValue />
    <observedUnit>string</observedUnit>
    <status>pass</status>
    <affectedEndpoints>string</affectedEndpoints>
    <time>string</time>
    <output>string</output>
    <weight>0</weight>
    <critical>true</critical>
  </checks>
  <status>pass</status>
  <serviceId>string</serviceId>
  <releaseId>string</releaseId>
  <version>string</version>
  <description>string</description>
  <notes>string</notes>
  <output>string</output>
  <message>string</message>
  <information>string</information>
  <subCode>0</subCode>
  <supportCode>string</supportCode>
</HealthStatus>
{
  "required": [
    "status",
    "subCode"
  ],
  "type": "object",
  "properties": {
    "checks": {
      "description": "List of dependencies probed. Like database connections and such",
      "type": "array",
      "items": {
        "required": [
          "status",
          "weight",
          "critical"
        ],
        "type": "object",
        "properties": {
          "componentId": {
            "description": "componentId: (optional) is a unique identifier of an instance of a\r\n specific sub-component/dependency of a service.Multiple objects\r\n  with the same componentID MAY appear in the details, if they are from\r\n  different nodes. Use well know references to 1st party veracity components like \"v3\" if you are probing the V3 connection.",
            "type": "string",
            "x-nullable": true
          },
          "componentType": {
            "description": " componentType: (optional) SHOULD be present if componentName is\r\npresent.It's a type of the component and could be one of:\r\n\r\no Pre-defined value from this spec.Pre-defined values include:\r\n\r\n*  component\r\n\r\n    * datastore\r\n\r\n*  system\r\n\r\n    o  A common and standard term from a well-known source such as\r\n\r\nschema.org, IANA or microformats.\r\n\r\n    o A URI that indicates extra semantics and processing rules that MAY\r\n\r\nbe provided by a resource at the other end of the URI.  URIs do\r\n\r\nnot have to be dereferenceable, however.They are just a\r\nnamespace, and the meaning of a namespace CAN be provided by any\r\n    convenient means(e.g.publishing an RFC, Swagger document or a\r\nnicely printed book).",
            "type": "string",
            "x-nullable": true
          },
          "observedValue": {
            "description": "observedValue: (optional) could be any valid JSON value, such as:\r\nstring, number, object, array or literal.",
            "type": "object",
            "x-nullable": true
          },
          "observedUnit": {
            "description": "observedUnit (optional) SHOULD be present if observedValue is\r\npresent.Clarifies the unit of measurement in which observedUnit is\r\nreported, e.g. for a time-based value it is important to know whether\r\nthe time is reported in seconds, minutes, hours or something else.\r\nTo make sure unit is denoted by a well-understood name or an\r\nabbreviation, it SHOULD be one of:\r\n\r\n- A common and standard term from a well-known source such as\r\nschema.org, IANA, microformats, or a standards document such as\r\n[RFC3339].\r\n\r\n- A URI that indicates extra semantics and processing rules that MAY\r\nbe provided by a resource at the other end of the URI.URIs do\r\nnot have to be dereferenceable, however.They are just a\r\nnamespace, and the meaning of a namespace CAN be provided by any\r\n    convenient means(e.g.publishing an RFC, Swagger document or a\r\nnicely printed book).",
            "type": "string",
            "x-nullable": true
          },
          "status": {
            "description": "status (optional) has the exact same meaning as the top-level\r\n\"output\" element, but for the sub-component/downstream dependency\r\nrepresented by the details object.",
            "enum": [
              "pass",
              "warn",
              "fail"
            ],
            "type": "string",
            "x-ms-enum": {
              "name": "HealthStateTypes",
              "modelAsString": false
            },
            "x-nullable": false
          },
          "affectedEndpoints": {
            "description": "affectedEndpoints (optional) is a JSON array containing URI Templates\r\nas defined by[RFC6570].  This field SHOULD be omitted if the\r\n\"status\" field is present and has value equal to \"pass\".  A typical\r\nAPI has many URI endpoints.Most of the time we are interested in\r\nthe overall health of the API, without diving into details.That\r\n    said, sometimes operational and resilience middleware needs to know\r\n    more details about the health of the API(which is why \"checks\"\r\nproperty provides details).  In such cases, we often need to indicate\r\n    which particular endpoints are affected by a particular check's\r\ntroubles vs.other endpoints that may be fine.",
            "type": "array",
            "items": {
              "type": "string",
              "x-nullable": true
            },
            "x-nullable": true
          },
          "time": {
            "format": "date-time",
            "description": "time (optional) is the date-time, in ISO8601 format, at which the\r\nreading of the observedValue was recorded.This assumes that the\r\n   value can be cached and the reading typically doesn't happen in real\r\n            \r\n   time, for performance and scalability purposes.",
            "type": "string",
            "x-nullable": true
          },
          "output": {
            "description": "output (optional) has the exact same meaning as the top-level\r\n\"output\" element, but for the sub-component/downstream dependency\r\nrepresented by the details object.  As is the case for the top-level\r\n    element, this field SHOULD be omitted for \"pass\" state of a\r\n    downstream dependency.",
            "type": "string",
            "x-nullable": true
          },
          "weight": {
            "format": "int32",
            "description": "A numeric value (1,2 or 3) to represent the weighting of the dependency in the overall sla calculation",
            "type": "integer",
            "x-nullable": false
          },
          "critical": {
            "type": "boolean",
            "x-nullable": false
          }
        },
        "x-nullable": true
      },
      "x-nullable": true
    },
    "status": {
      "description": " status: (required) indicates whether the service status is acceptable\r\nor not.API publishers SHOULD use following values for the field:\r\n            \r\n            \r\no  \"pass\": healthy (acceptable aliases: \"ok\" to support Node's\r\n            \r\nTerminus and \"up\" for Java's SpringBoot),\r\n            \r\n            \r\no  \"fail\": unhealthy (acceptable aliases: \"error\" to support Node's\r\n            \r\nTerminus and \"down\" for Java's SpringBoot), and\r\n            \r\n            \r\n    o  \"warn\": healthy, with some concerns.\r\n            \r\n    The value of the status field is case-insensitive and is tightly\r\n    related with the HTTP response code returned by the health endpoint.\r\n            \r\n    For \"pass\" status, HTTP response code in the 2xx-3xx range MUST be\r\n            \r\nused.For \"fail\" status, HTTP response code in the 4xx-5xx range\r\n            \r\nMUST be used.In case of the \"warn\" status, endpoints MUST return\r\n            \r\nHTTP status in the 2xx-3xx range, and additional information SHOULD\r\n            \r\n    be provided, utilizing optional fields of the response.\r\n            \r\n            \r\n    A health endpoint is only meaningful in the context of the component\r\n    it indicates the health of.  It has no other meaning or purpose.As\r\nsuch, its health is a conduit to the health of the component.\r\n            \r\n    Clients SHOULD assume that the HTTP response code returned by the\r\nhealth endpoint is applicable to the entire component (e.g.a larger\r\n            \r\n    API or a microservice).  This is compatible with the behavior that\r\n    current infrastructural tooling expects: load-balancers, service\r\n    discoveries and others, utilizing health-checks.",
      "enum": [
        "pass",
        "warn",
        "fail"
      ],
      "type": "string",
      "x-ms-enum": {
        "name": "HealthStateTypes",
        "modelAsString": false
      },
      "x-nullable": false
    },
    "serviceId": {
      "description": "serviceId: (required) identifies the service. Use ids like: identityApi, V3 or any other commonly used names for the service in question.",
      "type": "string",
      "x-nullable": true
    },
    "releaseId": {
      "description": " releaseId: (optional) in well-designed APIs, backwards-compatible\r\nchanges in the service should not update a version number.APIs\r\n\r\nusually change their version number as infrequently as possible, to\r\npreserve stable interface.  However, implementation of an API may\r\n    change much more frequently, which leads to the importance of having\r\n    separate \"release number\" or \"releaseId\" that is different from the\r\npublic version of the API.",
      "type": "string",
      "x-nullable": true
    },
    "version": {
      "description": "version: (optional) public version of the service.",
      "type": "string",
      "x-nullable": true
    },
    "description": {
      "description": " description (optional) is a human-friendly description of the\r\nservice.",
      "type": "string",
      "x-nullable": true
    },
    "notes": {
      "description": "notes: (optional) array of notes relevant to current state of health",
      "type": "array",
      "items": {
        "type": "string",
        "x-nullable": true
      },
      "x-nullable": true
    },
    "output": {
      "description": "output: (optional) raw error output, in case of \"fail\" or \"warn\"\r\nstates.This field SHOULD be omitted for \"pass\" state.",
      "type": "string",
      "x-nullable": true
    },
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
<HealthStatus>
  <checks>
    <componentId>string</componentId>
    <componentType>string</componentType>
    <observedValue />
    <observedUnit>string</observedUnit>
    <status>pass</status>
    <affectedEndpoints>string</affectedEndpoints>
    <time>string</time>
    <output>string</output>
    <weight>0</weight>
    <critical>true</critical>
  </checks>
  <status>pass</status>
  <serviceId>string</serviceId>
  <releaseId>string</releaseId>
  <version>string</version>
  <description>string</description>
  <notes>string</notes>
  <output>string</output>
  <message>string</message>
  <information>string</information>
  <subCode>0</subCode>
  <supportCode>string</supportCode>
</HealthStatus>
{
  "required": [
    "status",
    "subCode"
  ],
  "type": "object",
  "properties": {
    "checks": {
      "description": "List of dependencies probed. Like database connections and such",
      "type": "array",
      "items": {
        "required": [
          "status",
          "weight",
          "critical"
        ],
        "type": "object",
        "properties": {
          "componentId": {
            "description": "componentId: (optional) is a unique identifier of an instance of a\r\n specific sub-component/dependency of a service.Multiple objects\r\n  with the same componentID MAY appear in the details, if they are from\r\n  different nodes. Use well know references to 1st party veracity components like \"v3\" if you are probing the V3 connection.",
            "type": "string",
            "x-nullable": true
          },
          "componentType": {
            "description": " componentType: (optional) SHOULD be present if componentName is\r\npresent.It's a type of the component and could be one of:\r\n\r\no Pre-defined value from this spec.Pre-defined values include:\r\n\r\n*  component\r\n\r\n    * datastore\r\n\r\n*  system\r\n\r\n    o  A common and standard term from a well-known source such as\r\n\r\nschema.org, IANA or microformats.\r\n\r\n    o A URI that indicates extra semantics and processing rules that MAY\r\n\r\nbe provided by a resource at the other end of the URI.  URIs do\r\n\r\nnot have to be dereferenceable, however.They are just a\r\nnamespace, and the meaning of a namespace CAN be provided by any\r\n    convenient means(e.g.publishing an RFC, Swagger document or a\r\nnicely printed book).",
            "type": "string",
            "x-nullable": true
          },
          "observedValue": {
            "description": "observedValue: (optional) could be any valid JSON value, such as:\r\nstring, number, object, array or literal.",
            "type": "object",
            "x-nullable": true
          },
          "observedUnit": {
            "description": "observedUnit (optional) SHOULD be present if observedValue is\r\npresent.Clarifies the unit of measurement in which observedUnit is\r\nreported, e.g. for a time-based value it is important to know whether\r\nthe time is reported in seconds, minutes, hours or something else.\r\nTo make sure unit is denoted by a well-understood name or an\r\nabbreviation, it SHOULD be one of:\r\n\r\n- A common and standard term from a well-known source such as\r\nschema.org, IANA, microformats, or a standards document such as\r\n[RFC3339].\r\n\r\n- A URI that indicates extra semantics and processing rules that MAY\r\nbe provided by a resource at the other end of the URI.URIs do\r\nnot have to be dereferenceable, however.They are just a\r\nnamespace, and the meaning of a namespace CAN be provided by any\r\n    convenient means(e.g.publishing an RFC, Swagger document or a\r\nnicely printed book).",
            "type": "string",
            "x-nullable": true
          },
          "status": {
            "description": "status (optional) has the exact same meaning as the top-level\r\n\"output\" element, but for the sub-component/downstream dependency\r\nrepresented by the details object.",
            "enum": [
              "pass",
              "warn",
              "fail"
            ],
            "type": "string",
            "x-ms-enum": {
              "name": "HealthStateTypes",
              "modelAsString": false
            },
            "x-nullable": false
          },
          "affectedEndpoints": {
            "description": "affectedEndpoints (optional) is a JSON array containing URI Templates\r\nas defined by[RFC6570].  This field SHOULD be omitted if the\r\n\"status\" field is present and has value equal to \"pass\".  A typical\r\nAPI has many URI endpoints.Most of the time we are interested in\r\nthe overall health of the API, without diving into details.That\r\n    said, sometimes operational and resilience middleware needs to know\r\n    more details about the health of the API(which is why \"checks\"\r\nproperty provides details).  In such cases, we often need to indicate\r\n    which particular endpoints are affected by a particular check's\r\ntroubles vs.other endpoints that may be fine.",
            "type": "array",
            "items": {
              "type": "string",
              "x-nullable": true
            },
            "x-nullable": true
          },
          "time": {
            "format": "date-time",
            "description": "time (optional) is the date-time, in ISO8601 format, at which the\r\nreading of the observedValue was recorded.This assumes that the\r\n   value can be cached and the reading typically doesn't happen in real\r\n            \r\n   time, for performance and scalability purposes.",
            "type": "string",
            "x-nullable": true
          },
          "output": {
            "description": "output (optional) has the exact same meaning as the top-level\r\n\"output\" element, but for the sub-component/downstream dependency\r\nrepresented by the details object.  As is the case for the top-level\r\n    element, this field SHOULD be omitted for \"pass\" state of a\r\n    downstream dependency.",
            "type": "string",
            "x-nullable": true
          },
          "weight": {
            "format": "int32",
            "description": "A numeric value (1,2 or 3) to represent the weighting of the dependency in the overall sla calculation",
            "type": "integer",
            "x-nullable": false
          },
          "critical": {
            "type": "boolean",
            "x-nullable": false
          }
        },
        "x-nullable": true
      },
      "x-nullable": true
    },
    "status": {
      "description": " status: (required) indicates whether the service status is acceptable\r\nor not.API publishers SHOULD use following values for the field:\r\n            \r\n            \r\no  \"pass\": healthy (acceptable aliases: \"ok\" to support Node's\r\n            \r\nTerminus and \"up\" for Java's SpringBoot),\r\n            \r\n            \r\no  \"fail\": unhealthy (acceptable aliases: \"error\" to support Node's\r\n            \r\nTerminus and \"down\" for Java's SpringBoot), and\r\n            \r\n            \r\n    o  \"warn\": healthy, with some concerns.\r\n            \r\n    The value of the status field is case-insensitive and is tightly\r\n    related with the HTTP response code returned by the health endpoint.\r\n            \r\n    For \"pass\" status, HTTP response code in the 2xx-3xx range MUST be\r\n            \r\nused.For \"fail\" status, HTTP response code in the 4xx-5xx range\r\n            \r\nMUST be used.In case of the \"warn\" status, endpoints MUST return\r\n            \r\nHTTP status in the 2xx-3xx range, and additional information SHOULD\r\n            \r\n    be provided, utilizing optional fields of the response.\r\n            \r\n            \r\n    A health endpoint is only meaningful in the context of the component\r\n    it indicates the health of.  It has no other meaning or purpose.As\r\nsuch, its health is a conduit to the health of the component.\r\n            \r\n    Clients SHOULD assume that the HTTP response code returned by the\r\nhealth endpoint is applicable to the entire component (e.g.a larger\r\n            \r\n    API or a microservice).  This is compatible with the behavior that\r\n    current infrastructural tooling expects: load-balancers, service\r\n    discoveries and others, utilizing health-checks.",
      "enum": [
        "pass",
        "warn",
        "fail"
      ],
      "type": "string",
      "x-ms-enum": {
        "name": "HealthStateTypes",
        "modelAsString": false
      },
      "x-nullable": false
    },
    "serviceId": {
      "description": "serviceId: (required) identifies the service. Use ids like: identityApi, V3 or any other commonly used names for the service in question.",
      "type": "string",
      "x-nullable": true
    },
    "releaseId": {
      "description": " releaseId: (optional) in well-designed APIs, backwards-compatible\r\nchanges in the service should not update a version number.APIs\r\n\r\nusually change their version number as infrequently as possible, to\r\npreserve stable interface.  However, implementation of an API may\r\n    change much more frequently, which leads to the importance of having\r\n    separate \"release number\" or \"releaseId\" that is different from the\r\npublic version of the API.",
      "type": "string",
      "x-nullable": true
    },
    "version": {
      "description": "version: (optional) public version of the service.",
      "type": "string",
      "x-nullable": true
    },
    "description": {
      "description": " description (optional) is a human-friendly description of the\r\nservice.",
      "type": "string",
      "x-nullable": true
    },
    "notes": {
      "description": "notes: (optional) array of notes relevant to current state of health",
      "type": "array",
      "items": {
        "type": "string",
        "x-nullable": true
      },
      "x-nullable": true
    },
    "output": {
      "description": "output: (optional) raw error output, in case of \"fail\" or \"warn\"\r\nstates.This field SHOULD be omitted for \"pass\" state.",
      "type": "string",
      "x-nullable": true
    },
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}

400 Bad Request

Bad request

Response headers

  • (optional)
    string

    correlation token for log lookup.

Representations

{
  "message": "string",
  "information": "string",
  "subCode": 0,
  "supportCode": "string"
}
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
{
  "message": "string",
  "information": "string",
  "subCode": 0,
  "supportCode": "string"
}
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
<ErrorDetail>
  <message>string</message>
  <information>string</information>
  <subCode>0</subCode>
  <supportCode>string</supportCode>
</ErrorDetail>
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
<ErrorDetail>
  <message>string</message>
  <information>string</information>
  <subCode>0</subCode>
  <supportCode>string</supportCode>
</ErrorDetail>
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}

500 Internal Server Error

Unexpected error

Response headers

  • (optional)
    string

    correlation token for log lookup.

Representations

{
  "message": "string",
  "information": "string",
  "subCode": 0,
  "supportCode": "string"
}
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
{
  "message": "string",
  "information": "string",
  "subCode": 0,
  "supportCode": "string"
}
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
<ErrorDetail>
  <message>string</message>
  <information>string</information>
  <subCode>0</subCode>
  <supportCode>string</supportCode>
</ErrorDetail>
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
<ErrorDetail>
  <message>string</message>
  <information>string</information>
  <subCode>0</subCode>
  <supportCode>string</supportCode>
</ErrorDetail>
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}

502 Bad Gateway

Dependency call failure

Response headers

  • (optional)
    string

    correlation token for log lookup.

Representations

{
  "message": "string",
  "information": "string",
  "subCode": 0,
  "supportCode": "string"
}
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
{
  "message": "string",
  "information": "string",
  "subCode": 0,
  "supportCode": "string"
}
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
<ErrorDetail>
  <message>string</message>
  <information>string</information>
  <subCode>0</subCode>
  <supportCode>string</supportCode>
</ErrorDetail>
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
<ErrorDetail>
  <message>string</message>
  <information>string</information>
  <subCode>0</subCode>
  <supportCode>string</supportCode>
</ErrorDetail>
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}

404 Not Found

Not found

Response headers

  • (optional)
    string

    correlation token for log lookup.

Representations

{
  "message": "string",
  "information": "string",
  "subCode": 0,
  "supportCode": "string"
}
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
{
  "message": "string",
  "information": "string",
  "subCode": 0,
  "supportCode": "string"
}
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
<ErrorDetail>
  <message>string</message>
  <information>string</information>
  <subCode>0</subCode>
  <supportCode>string</supportCode>
</ErrorDetail>
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
<ErrorDetail>
  <message>string</message>
  <information>string</information>
  <subCode>0</subCode>
  <supportCode>string</supportCode>
</ErrorDetail>
{
  "required": [
    "subCode"
  ],
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "x-nullable": true
    },
    "information": {
      "type": "string",
      "x-nullable": true
    },
    "subCode": {
      "format": "int32",
      "type": "integer",
      "x-nullable": false
    },
    "supportCode": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}

403 Forbidden

Forbidden

Response headers

  • (optional)
    string

    correlation token for log lookup.

Representations

{
  "Message": "string"
}
{
  "type": "object",
  "properties": {
    "Message": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
{
  "Message": "string"
}
{
  "type": "object",
  "properties": {
    "Message": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
<AuthError>
  <Message>string</Message>
</AuthError>
{
  "type": "object",
  "properties": {
    "Message": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
<AuthError>
  <Message>string</Message>
</AuthError>
{
  "type": "object",
  "properties": {
    "Message": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}

401 Unauthorized

Unauthorized

Response headers

  • (optional)
    string

    correlation token for log lookup.

Representations

{
  "Message": "string"
}
{
  "type": "object",
  "properties": {
    "Message": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
{
  "Message": "string"
}
{
  "type": "object",
  "properties": {
    "Message": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
<AuthError>
  <Message>string</Message>
</AuthError>
{
  "type": "object",
  "properties": {
    "Message": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}
<AuthError>
  <Message>string</Message>
</AuthError>
{
  "type": "object",
  "properties": {
    "Message": {
      "type": "string",
      "x-nullable": true
    }
  },
  "x-nullable": true
}

Code samples

@ECHO OFF

curl -v -X GET "https://api.veracity.com/Veracity/Services/health/status"
-H "x-supportCode: "
-H "Ocp-Apim-Subscription-Key: "
-H "Ocp-Apim-Subscription-Key: {subscription key}"
-H "Authorization: {access token}"

--data-ascii "{body}" 
using System;
using System.Net.Http.Headers;
using System.Text;
using System.Net.Http;
using System.Web;

namespace CSHttpClientSample
{
    static class Program
    {
        static void Main()
        {
            MakeRequest();
            Console.WriteLine("Hit ENTER to exit...");
            Console.ReadLine();
        }
        
        static async void MakeRequest()
        {
            var client = new HttpClient();
            var queryString = HttpUtility.ParseQueryString(string.Empty);

            // Request headers
            client.DefaultRequestHeaders.Add("x-supportCode", "");
            client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "");
            client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "{subscription key}");
            client.DefaultRequestHeaders.Add("Authorization", "{access token}");

            var uri = "https://api.veracity.com/Veracity/Services/health/status?" + queryString;

            var response = await client.GetAsync(uri);
        }
    }
}	
// // This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
import java.net.URI;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class JavaSample 
{
    public static void main(String[] args) 
    {
        HttpClient httpclient = HttpClients.createDefault();

        try
        {
            URIBuilder builder = new URIBuilder("https://api.veracity.com/Veracity/Services/health/status");


            URI uri = builder.build();
            HttpGet request = new HttpGet(uri);
            request.setHeader("x-supportCode", "");
            request.setHeader("Ocp-Apim-Subscription-Key", "");
            request.setHeader("Ocp-Apim-Subscription-Key", "{subscription key}");
            request.setHeader("Authorization", "{access token}");


            // Request body
            StringEntity reqEntity = new StringEntity("{body}");
            request.setEntity(reqEntity);

            HttpResponse response = httpclient.execute(request);
            HttpEntity entity = response.getEntity();

            if (entity != null) 
            {
                System.out.println(EntityUtils.toString(entity));
            }
        }
        catch (Exception e)
        {
            System.out.println(e.getMessage());
        }
    }
}

<!DOCTYPE html>
<html>
<head>
    <title>JSSample</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>

<script type="text/javascript">
    $(function() {
        var params = {
            // Request parameters
        };
      
        $.ajax({
            url: "https://api.veracity.com/Veracity/Services/health/status?" + $.param(params),
            beforeSend: function(xhrObj){
                // Request headers
                xhrObj.setRequestHeader("x-supportCode","");
                xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","");
                xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","{subscription key}");
                xhrObj.setRequestHeader("Authorization","{access token}");
            },
            type: "GET",
            // Request body
            data: "{body}",
        })
        .done(function(data) {
            alert("success");
        })
        .fail(function() {
            alert("error");
        });
    });
</script>
</body>
</html>
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    
    NSString* path = @"https://api.veracity.com/Veracity/Services/health/status";
    NSArray* array = @[
                         // Request parameters
                         @"entities=true",
                      ];
    
    NSString* string = [array componentsJoinedByString:@"&"];
    path = [path stringByAppendingFormat:@"?%@", string];

    NSLog(@"%@", path);

    NSMutableURLRequest* _request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:path]];
    [_request setHTTPMethod:@"GET"];
    // Request headers
    [_request setValue:@"" forHTTPHeaderField:@"x-supportCode"];
    [_request setValue:@"" forHTTPHeaderField:@"Ocp-Apim-Subscription-Key"];
    [_request setValue:@"{subscription key}" forHTTPHeaderField:@"Ocp-Apim-Subscription-Key"];
    [_request setValue:@"{access token}" forHTTPHeaderField:@"Authorization"];
    // Request body
    [_request setHTTPBody:[@"{body}" dataUsingEncoding:NSUTF8StringEncoding]];
    
    NSURLResponse *response = nil;
    NSError *error = nil;
    NSData* _connectionData = [NSURLConnection sendSynchronousRequest:_request returningResponse:&response error:&error];

    if (nil != error)
    {
        NSLog(@"Error: %@", error);
    }
    else
    {
        NSError* error = nil;
        NSMutableDictionary* json = nil;
        NSString* dataString = [[NSString alloc] initWithData:_connectionData encoding:NSUTF8StringEncoding];
        NSLog(@"%@", dataString);
        
        if (nil != _connectionData)
        {
            json = [NSJSONSerialization JSONObjectWithData:_connectionData options:NSJSONReadingMutableContainers error:&error];
        }
        
        if (error || !json)
        {
            NSLog(@"Could not parse loaded json with error:%@", error);
        }
        
        NSLog(@"%@", json);
        _connectionData = nil;
    }
    
    [pool drain];

    return 0;
}
<?php
// This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
require_once 'HTTP/Request2.php';

$request = new Http_Request2('https://api.veracity.com/Veracity/Services/health/status');
$url = $request->getUrl();

$headers = array(
    // Request headers
    'x-supportCode' => '',
    'Ocp-Apim-Subscription-Key' => '',
    'Ocp-Apim-Subscription-Key' => '{subscription key}',
    'Authorization' => '{access token}',
);

$request->setHeader($headers);

$parameters = array(
    // Request parameters
);

$url->setQueryVariables($parameters);

$request->setMethod(HTTP_Request2::METHOD_GET);

// Request body
$request->setBody("{body}");

try
{
    $response = $request->send();
    echo $response->getBody();
}
catch (HttpException $ex)
{
    echo $ex;
}

?>
########### Python 2.7 #############
import httplib, urllib, base64

headers = {
    # Request headers
    'x-supportCode': '',
    'Ocp-Apim-Subscription-Key': '',
    'Ocp-Apim-Subscription-Key': '{subscription key}',
    'Authorization': '{access token}',
}

params = urllib.urlencode({
})

try:
    conn = httplib.HTTPSConnection('api.veracity.com')
    conn.request("GET", "/Veracity/Services/health/status?%s" % params, "{body}", headers)
    response = conn.getresponse()
    data = response.read()
    print(data)
    conn.close()
except Exception as e:
    print("[Errno {0}] {1}".format(e.errno, e.strerror))

####################################

########### Python 3.2 #############
import http.client, urllib.request, urllib.parse, urllib.error, base64

headers = {
    # Request headers
    'x-supportCode': '',
    'Ocp-Apim-Subscription-Key': '',
    'Ocp-Apim-Subscription-Key': '{subscription key}',
    'Authorization': '{access token}',
}

params = urllib.parse.urlencode({
})

try:
    conn = http.client.HTTPSConnection('api.veracity.com')
    conn.request("GET", "/Veracity/Services/health/status?%s" % params, "{body}", headers)
    response = conn.getresponse()
    data = response.read()
    print(data)
    conn.close()
except Exception as e:
    print("[Errno {0}] {1}".format(e.errno, e.strerror))

####################################
require 'net/http'

uri = URI('https://api.veracity.com/Veracity/Services/health/status')


request = Net::HTTP::Get.new(uri.request_uri)
# Request headers
request['x-supportCode'] = ''
# Request headers
request['Ocp-Apim-Subscription-Key'] = ''
# Request headers
request['Ocp-Apim-Subscription-Key'] = '{subscription key}'
# Request headers
request['Authorization'] = '{access token}'
# Request body
request.body = "{body}"

response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
    http.request(request)
end

puts response.body