# Retrieve all Certifications

## Retrieve all Certifications

<mark style="color:blue;">`GET`</mark> `https://api.iafcertsearch.org/api/client/v2/cb/cert`

This endpoint retrieves the data of all registered certifications.

#### Headers

| Name                                                   | Type   | Description                                                                                                                                                     |
| ------------------------------------------------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| x-http-authorization<mark style="color:red;">\*</mark> | String | <p>API Key received from <https://iafcertsearch.org/import-management/api-integration></p><p>Example:</p><p><code>x-http-authorization: <\<API KEY>></code></p> |
| Content-Type<mark style="color:red;">\*</mark>         | String | application/json                                                                                                                                                |

#### Request Body

| Name    | Type   | Description                                                                                                                                                                     |
| ------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| limit   | String | Limit                                                                                                                                                                           |
| offset  | String | Offset                                                                                                                                                                          |
| include | String | Optional. Comma-separated list of additional data to include in the response. Accepted values: `sites`, `ce_sites`. When used, the result limit is capped at 1,000 per request. |

{% tabs %}
{% tab title="200: OK Request successful." %}

```json
{
  "data": [
    {
      "certification_id": string,
      "ce_id": array,
      "cert_scope": string,
      "cert_issue_date": string,
      "cert_expiry_date": string,
      "cert_original_issue_date": string,
      "cert_status": string,
      "cert_type": string,
      "model_number": string,
      "certification_number": string,
      "certification_identity_number": string,
      "certification_bodies_id": string,
      "accreditation_bodies_id": string,
      "standards_id": string,
      "accreditation_status": string,
      "scheme_id": string,
      "created_at": number,
      "updated_at": number,
      "ce_name": array,
      "ce_system_information": array,
      "accreditation_bodies_name": string,
      "certification_bodies_name": string,
      "certification_bodies_accreditation_status": string,
      "withdrawn_at": number,
      "scheme_name": string,
      "iaf_mla_count": number,
      "ces": [
        {
          "ce_id": string,
          "ce_name": string,
          "ce_system_information": array,
          "ce_street": string,
          "ce_city": string,
          "ce_state": string,
          "ce_post_code": string,
          "ce_full_address": string,
          "country": string,
          "ce_sites": [ // only included when ?include=ce_sites; capped at 100 items
            {
              "street": string,
              "city": string,
              "state": string,
              "post_code": string,
              "full_address": string,
              "country": string
            }
          ]
        }
      ],
      "standards": [
        {
          "is_accredited_mla": number,
          "standards_id": string,
          "standards_name": string,
          "standards_document_type": string,
          "scheme_name": string
        }
      ],
      "sectors": [
        {
          "sector_id": string,
          "sector_name": string,
          "sector_code": string
        }
      ],
      "sites": [ // only included when ?include=sites; capped at 100 items
        {
          "street": string,
          "city": string,
          "state": string,
          "post_code": string,
          "full_address": string,
          "country": string,
          "type": string,
          "ce_id": string
        }
      ]
    }
  ],
  "meta": {
    "total_pages": number,
    "total_rows": number,
    "order": string,
    "order_by": string,
    "limit": number,
    "offset": number,
    "next_key": string
  }
}
```

{% endtab %}

{% tab title="401: Unauthorized Happens when you use an invalid API Key." %}

```json
{
    "error": true,
    "timestamp": number (Epoch time),
    "elapse": number,
    "errors": {
      "message": "Invalid Session token has been used.",
      "code": "invalid_session_token"
    }
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
To view the response data example, click the right arrow at the right side of the response description.
{% endhint %}

{% hint style="info" %}
You can also use <https://api.sandbox.iafcertsearch.org/api/client/v2/cb/cert> to test it on the Sandbox server.
{% endhint %}

Take a look at how you might call this method:

{% tabs %}
{% tab title="cURL" %}

```shell
curl --location --request GET 'https://api.iafcertsearch.org/api/client/v2/cb/cert' \
--header 'Content-Type: application/json' \
--header 'x-http-authorization: <<API_KEY>>'
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require "uri"
require "json"
require "net/http"

url = URI("https://api.iafcertsearch.org/api/client/v2/cb/cert")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Content-Type"] = "application/json"
request["x-http-authorization"] = "<<API_KEY>>"

response = https.request(request)
puts response.read_body

```

{% endtab %}

{% tab title="Python" %}

```python
import http.client
import json

conn = http.client.HTTPSConnection("api.iafcertsearch.org")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'x-http-authorization': '<<API_KEY>>'
}
conn.request("GET", "/api/client/v2/cb/cert", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.iafcertsearch.org/api/client/v2/cb/cert',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'x-http-authorization: <<API_KEY>>'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

```

{% endtab %}

{% tab title="Java" %}

```java
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://api.iafcertsearch.org/api/client/v2/cb/cert")
  .method("GET", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("x-http-authorization", "<<API_KEY>>")
  .build();
Response response = client.newCall(request).execute();
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
var axios = require('axios');

var config = {
  method: 'get',
  url: 'https://api.iafcertsearch.org/api/client/v2/cb/cert',
  headers: { 
    'Content-Type': 'application/json', 
    'x-http-authorization': '<<API_KEY>>'
  }
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});

```

{% endtab %}

{% tab title="Go" %}

```go
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://api.iafcertsearch.org/api/client/v2/cb/cert"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Content-Type", "application/json")
  req.Header.Add("x-http-authorization", "<<API_KEY>>")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
```

{% endtab %}

{% tab title="C#" %}

```csharp
var client = new RestClient("https://api.iafcertsearch.org/api/client/v2/cb/cert");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("x-http-authorization", "<<API_KEY>>");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
```

{% endtab %}
{% endtabs %}
