API Developer Guide
English
English
  • API Integration
    • Getting Started
    • Authentication
    • Requests
    • Responses
    • Errors
    • Accreditation Body APIs
      • V1
        • Certification API
          • Upload Certification
          • Bulk Upload Certification
          • Retrieve all Certifications
          • Retrieve a Certification
          • Delete a Certification
        • Certified Entity API
          • Delete a Certified Entity
        • Certification Body API
          • Upload Certification Body
          • Retrieve all Certification Bodies
          • Retrieve a Certification Body
          • Update Certification Body
          • Update Certification Body Accreditation Status
      • V2
        • Certification Body API
          • Upload Certification Body
          • Retrieve all Certification Bodies
          • Retrieve a Certification Body
          • Update Certification Body
          • Update Certification Body Accreditation Status
        • Certification API
          • Upload Certification
          • Bulk Upload Certification
          • Retrieve all Certifications
          • Retrieve a Certification
          • Delete a Certification
        • Certified Entity API
          • Delete a Certified Entity
    • Certification Body APIs
      • V1
        • Certification API
          • Upload Certification
          • Bulk Upload Certification
          • Retrieve all Certifications
          • Retrieve a Certification
          • Delete a Certification
        • Certified Entity API
          • Update Certified Entity Name
          • Update Certified Entity Details
          • Delete a Certified Entity
      • V2
        • Certification API
          • Upload Certification
          • Bulk Upload Certification
          • Retrieve all Certifications
          • Retrieve a Certification
          • Delete a Certification
        • Certified Entity API
          • Update Certified Entity Name
          • Update Certified Entity Details
          • Delete a Certified Entity
    • Multi-national Certification Body APIs
      • V1
        • Certification API
          • Upload Certification
          • Bulk Upload Certification
          • Retrieve all Certifications
          • Retrieve a Certification
          • Delete a Certification
          • Update all Certifications
        • Certified Entity API
          • Update Certified Entity Name
          • Update Certified Entity Details
          • Delete a Certified Entity
      • V2
        • Certification API
          • Upload Certification
          • Bulk Upload Certification
          • Retrieve all Certifications
          • Retrieve a Certification
          • Delete a Certification
          • Update all Certifications
        • Certified Entity API
          • Update Certified Entity Name
          • Update Certified Entity Details
          • Delete a Certified Entity
  • Data Handling
    • Matching existing data
      • Certified Entity (CE)
Powered by GitBook
On this page
  1. API Integration
  2. Accreditation Body APIs
  3. V2
  4. Certification Body API

Upload Certification Body

Upload Certification Body

POST https://api.iafcertsearch.org/api/client/v2/ab/upload-cb

Fields that are marked with an asterisk (*) are mandatory.

Headers

Name
Type
Description

Content-Type*

String

application/json

x-http-authorization*

String

API Key received from https://iafcertsearch.org/import-management/api-integration

Example:

x-http-authorization: <<API KEY>>

Request Body

Name
Type
Description

certification_body_identity_number*

String

Mandatory Field provided by the Accreditation Body for internal use of IAFCertSearch. "Certification Body Identity Number" is a unique identification for the Certification Body. The "Certification Body Identity Number" makes it possible to identify which Certification Bodies are in the Accreditation Body network what data in the register belongs to the Certification Body. When the Accreditation Body uploads additional data in the future (i.e. accreditation data) the system will look up the "Certification Body Identity Number" to maintain integrity of data. The "Certification Body Identity Number" can be any alpha numeric number.

certification_body_name*

String

Certification Body Name

certification_body_acronym

String

Certification Body Acronym

website

String

Website of the main accredited entity

public_email_address

String

Public email address of the main accredited entity

public_phone_number

String

Public phone number of the main accredited entity

public_fax_number

String

Public fax number of the main accredited entity

country*

String

Country/Economy of the main accredited entity address.

description

String

A general description of the Certification Body. The description should be factual and limited to 200 words. The description will be on the profile page of the IAFCertSearch describing the organisation. The Certification Body will have the ability to edit the description in their IAFCertSearch dashboard. If the AB does not have this information, then leave it blank.

accreditation_status*

String

Accreditation Status Accepted values:

Active (valid) Withdrawn (expired) Suspended

key_locations

Array

Office Directories Example:

{

"key_locations": [

{

"key_location_id: "string"

"office_type": "string",

"country": "string",

"street": "string",

"state": "string",

"city": "string",

"zip_code": "string"

}

]

}

certification_body_countries

Array

Country/economy in which the certification body is eligible to issue accredited certificates.

Example

{

"certification_bodies_countries": [

{

"country": "string",

"economy_accreditation_status": "string",

"suspended_withdrawn_date": "string",

"scheme_name": "string",

"standard_code": "string"

}

]

}

standard_and_schemes

Array

Standard and Schemes Example

{

"standard_and_schemes": [

{

"key_locations": "string"

"standard_code": "string",

"issue_date": "string",

"first_issue_date": "string",

"expiry_date": "string",

"scheme_name": "string",

"scope_type": "string",

"standard_status": "string"

}

]

}

technical_sectors

Array

Technical Sectors Example

{

"technical_sectors": [

{

"sector_title": "string",

"scheme_name": "string",

"standard_code": "string".

"sector_code": "string",

"sector_accreditation_status": "string",

"suspended_withdrawn_date": "string",

"full_limited": "string",

"extent_of_scope": "string"

}

]

}

{
  "data": {
    "certification_bodies_id": string
  }
}
{
    "data": {
        "error": {
            "record_index": 0,
            "certification_body_identity_number": "T_CB_API-09282023_3_wrong",
            "errors": {
                "message": "Suspended/Withdrawn date must only be provided if its accreditation status is either 'suspended' or 'withdrawn'.",
                    "code": "invalid_suspended_withdrawn_date",
                    "meta": {
                        "sector_index": 0,
                        "sector_accreditation_status": string,
                        "suspended_withdrawn_date": string
                    }
            }
        }
    }
}
{
    "data": {
        "error": {
            "record_index": 0,
            "certification_body_identity_number": "T_CB_API-09282023_3_wrong",
            "errors": {
                 "message": "Ensure Sector is valid and matches the MLA type of its corresponding standard.",
                    "code": "invalid_technical_sector",
                    "meta": {
                        "sector_index": 0,
                        "standard_code": string,
                        "sector_title": string,
                        "sector_code": string
                    }
            }
        }
    }
}
{
    "error": true,
    "timestamp": number (Epoch time),
    "elapse": number,
    "errors": {
      "message": "error_message",
      "code": "error_code"
    }
}
{
    "error": true,
    "timestamp": number (Epoch time),
    "elapse": number,
    "errors": {
      "message": "Invalid Session token has been used.",
      "code": "invalid_session_token"
    }
}
{
    "error": true,
    "timestamp": number (Epoch time),
    "elapse": number,
    "errors": {
        "code": "validation_error",
        "message": {
            "field_name": "error_message"
        }
    }
}

To view the response data example, click the right arrow at the right side of the response description.

You can also use https://api.sandbox.iafcertsearch.org/api/client/v2/ab/upload-cb to test it on the Sandbox server.

Take a look at how you might call this method:

curl --location --request POST 'https://api.iafcertsearch.org/api/client/v2/ab/upload-cb' \
--header 'Content-Type: application/json' \
--header 'x-http-authorization: <<API_KEY>>' \
--data-raw '{
	"certification_body_identity_number": "string",
	"certification_body_name": "string",
	"certification_body_acronym": "string",
	"website": "string",
	"country": "string",
	"description": "string",
	"accreditation_status": "string",
	"public_email_address": "string",
	"public_phone_number": "string",
	"public_fax_number": "string",
	"key_locations": [
		{
			"key_location_id": "string",
			"office_type": "string",
			"country": "string",
			"street": "string",
			"state": "string",
			"city": "string",
			"zip_code": "string"
		}
	],	
	"certification_body_countries": [
		{
			"country": "string",
			"economy_accreditation_status": "string",
			"suspended_withdrawn_date": "string",
			"scheme_name": "string",
			"standard_code": "string"
		}
	],
	"standard_and_schemes": [
		{
			"key_locations": "string"
			"standard_code": "string",
			"issue_date": "string",
			"first_issue_date": "string",
			"expiry_date": "string",
			"scheme_name": "string",
			"scope_type": "string",
			"standard_status": "string"
		}
	],
	"technical_sectors": [
		{
			"sector_title": "string",
			"scheme_name": "string",
			"standard_code": "string",
			"sector_code": "string",
			"sector_accreditation_status": "string",
			"suspended_withdrawn_date": "string",
			"full_limited": "string",
			"extent_of_scope": "string"
		}
	]
}'
require "uri"
require "json"
require "net/http"

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

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["x-http-authorization"] = "<<API_KEY>>"
request.body = JSON.dump({
  "certification_body_identity_number": "string",
  "certification_body_name": "string",
  "certification_body_acronym": "string",
  "website": "string",
  "country": "string",
  "description": "string",
  "accreditation_status": "string",
  "public_email_address": "string",
  "public_phone_number": "string",
  "public_fax_number": "string",
  "key_locations": [
    {
      "key_location_id": "string",
      "office_type": "string",
      "country": "string",
      "street": "string",
      "state": "string",
      "city": "string",
      "zip_code": "string"
    }
  ],  
  "certification_body_countries": [
    {
      "country": "string",
      "economy_accreditation_status": "string",
      "suspended_withdrawn_date": "string",
      "scheme_name": "string",
      "standard_code": "string"
    }
  ],
  "standard_and_schemes": [
    {
      "key_locations": "string",
      "standard_code": "string",
      "issue_date": "string",
      "first_issue_date": "string",
      "expiry_date": "string",
      "scheme_name": "string",
      "scope_type": "string",
      "standard_status": "string"
    }
  ],
  "technical_sectors": [
    {
      "sector_title": "string",
      "scheme_name": "string",
      "standard_code": "string",
      "sector_code": "string",
      "sector_accreditation_status": "string",
      "suspended_withdrawn_date": "string",
      "full_limited": "string",
      "extent_of_scope": "string"
    }
  ]
})

response = https.request(request)
puts response.read_body
import http.client
import json

conn = http.client.HTTPSConnection("api.iafcertsearch.org")
payload = json.dumps({
  "certification_body_identity_number": "string",
  "certification_body_name": "string",
  "certification_body_acronym": "string",
  "website": "string",
  "country": "string",
  "description": "string",
  "accreditation_status": "string",
  "public_email_address": "string",
  "public_phone_number": "string",
  "public_fax_number": "string",
  "key_locations": [
    {
      "key_location_id": "string",
      "office_type": "string",
      "country": "string",
      "street": "string",
      "state": "string",
      "city": "string",
      "zip_code": "string",
    }
  ],  
  "certification_body_countries": [
    {
      "country": "string",
      "economy_accreditation_status": "string",
      "suspended_withdrawn_date": "string",
      "scheme_name": "string",
      "standard_code": "string"
    }
  ],
  "standard_and_schemes": [
    {
      "key_locations": "string",
      "standard_code": "string",
      "issue_date": "string",
      "first_issue_date": "string",
      "expiry_date": "string",
      "scheme_name": "string",
      "scope_type": "string",
      "standard_status": "string"
    }
  ],
  "technical_sectors": [
    {
      "sector_title": "string",
      "scheme_name": "string",
      "standard_code": "string",
      "sector_code": "string",
      "sector_accreditation_status": "string",
      "suspended_withdrawn_date": "string",
      "full_limited": "string",
      "extent_of_scope": "string"
    }
  ]
})
headers = {
  'Content-Type': 'application/json',
  'x-http-authorization': '<<API_KEY>>'
}
conn.request("POST", "/api/client/v2/ab/upload-cb", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.iafcertsearch.org/api/client/v2/ab/upload-cb',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    	"certification_body_identity_number": "string",
    	"certification_body_name": "string",
    	"certification_body_acronym": "string",
    	"website": "string",
    	"country": "string",
    	"description": "string",
    	"accreditation_status": "string",
    	"public_email_address": "string",
    	"public_phone_number": "string",
    	"public_fax_number": "string",
	"key_locations": [
		{
			"key_location_id": "string",
			"office_type": "string",
            		"country": "string",
            		"street": "string",
            		"state": "string",
            		"city": "string",
            		"zip_code": "string"
		}
	],	
	"certification_body_countries": [
        	{
            		"country": "string",
            		"economy_accreditation_status": "string",
            		"suspended_withdrawn_date": "string",
            		"scheme_name": "string",
            		"standard_code": "string"
        	}
        ],
	standard_and_schemes": [
                {
                        "key_locations": "string",
                        "standard_code": "string",
                        "issue_date": "string",
                        "first_issue_date": "string",
                        "expiry_date": "string",
                        "scheme_name": "string",
                        "scope_type": "string",
                        "standard_status": "string"
                }
        ],
	"technical_sectors": [
                {
                        "sector_title": "string",
                        "scheme_name": "string",
                        "standard_code": "string",
                        "sector_code": "string",
                        "sector_accreditation_status": "string",
                        "suspended_withdrawn_date": "string",
                        "full_limited": "string",
                        "extent_of_scope": "string"
                }
        ]
  }',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'x-http-authorization: <<API_KEY>>'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"certification_body_identity_number\": \"string\",\n    \"certification_body_name\": \"string\",\n    \"certification_body_acronym\": \"string\",\n    \"website\": \"string\",\n    \"country\": \"string\",\n    \"description\": \"string\",\n    \"accreditation_status\": \"string\",\n    \"public_email_address\": \"string\",\n    \"public_phone_number\": \"string\",\n    \"public_fax_number\": \"string\",\n    \"key_locations\": [\n        {\n            \"key_location_id\": \"string\",\n            \"office_type\": \"string\",\n            \"country\": \"string\",\n            \"street\": \"string\",\n            \"state\": \"string\",\n            \"city\": \"string\",\n            \"zip_code\": \"string\"\n        }\n    ],\n    \"certification_body_countries\": [\n        {\n            \"country\": \"string\",\n            \"economy_accreditation_status\": \"string\",\n            \"suspended_withdrawn_date\": \"string\",\n            \"scheme_name\": \"string\",\n            \"standard_code\": \"string\"\n        }\n    ],\n    \"standard_and_schemes\": [\n        {\n            \"key_locations\": \"string\",\n            \"standard_code\": \"string\",\n            \"issue_date\": \"string\",\n            \"first_issue_date\": \"string\",\n            \"expiry_date\": \"string\",\n            \"scheme_name\": \"string\",\n            \"scope_type\": \"string\",\n            \"standard_status\": \"string\"\n        }\n    ],\n    \"technical_sectors\": [\n        {\n            \"sector_title\": \"string\",\n            \"scheme_name\": \"string\",\n            \"standard_code\": \"string\",\n            \"sector_code\": \"string\",\n            \"sector_accreditation_status\": \"string\",\n            \"suspended_withdrawn_date\": \"string\",\n            \"full_limited\": \"string\",\n            \"extent_of_scope\": \"string\"\n        }\n    ]\n}");
Request request = new Request.Builder()
  .url("https://api.iafcertsearch.org/api/client/v2/ab/upload-cb")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("x-http-authorization", "<<API_KEY>>")
  .build();
Response response = client.newCall(request).execute();
var axios = require('axios');
var data = JSON.stringify({
  "certification_body_identity_number": "string",
  "certification_body_name": "string",
  "certification_body_acronym": "string",
  "website": "string",
  "country": "string",
  "description": "string",
  "accreditation_status": "string",
  "public_email_address": "string",
  "public_phone_number": "string",
  "public_fax_number": "string",
  "key_locations": [
    {
      "key_location_id": "string",
      "office_type": "string",
      "country": "string",
      "street": "string",
      "state": "string",
      "city": "string",
      "zip_code": "string"
    }
  ],
  "certification_body_countries": [
    {
      "country": "string",
      "economy_accreditation_status": "string",
      "suspended_withdrawn_date": "string",
      "scheme_name": "string",
      "standard_code": "string"
    }
  ],
  "standard_and_schemes": [
    {
      "key_locations": "string",
      "standard_code": "string",
      "issue_date": "string",
      "first_issue_date": "string",
      "expiry_date": "string",
      "scheme_name": "string",
      "scope_type": "string",
      "standard_status": "string"
    }
  ],
  "technical_sectors": [
    {
      "sector_title": "string",
      "scheme_name": "string",
      "standard_code": "string",
      "sector_code": "string",
      "sector_accreditation_status": "string",
      "suspended_withdrawn_date": "string",
      "full_limited": "string",
      "extent_of_scope": "string"
    }
  ]
});

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

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

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

func main() {

  url := "https://api.iafcertsearch.org/api/client/v2/ab/upload-cb"
  method := "POST"

  payload := strings.NewReader(`{
    "certification_body_identity_number": "string",
    "certification_body_name": "string",
    "certification_body_acronym": "string",
    "website": "string",
    "country": "string",
    "description": "string",
    "accreditation_status": "string",
    "public_email_address": "string",
    "public_phone_number": "string",
    "public_fax_number": "string",
    "key_locations": [
        {
            "key_location_id": "string",
            "office_type": "string",
            "country": "string",
            "street": "string",
            "state": "string",
            "city": "string",
            "zip_code": "string"
        }
    ],
    "certification_body_countries": [
        {
            "country": "string",
            "economy_accreditation_status": "string",
            "suspended_withdrawn_date": "string",
            "scheme_name": "string",
            "standard_code": "string"
        }
    ],
    "standard_and_schemes": [
        {
            "key_locations": "string",
            "standard_code": "string",
            "issue_date": "string",
            "first_issue_date": "string",
            "expiry_date": "string",
            "scheme_name": "string",
            "scope_type": "string",
            "standard_status": "string"
        }
    ],
    "technical_sectors": [
        {
            "sector_title": "string",
            "scheme_name": "string",
            "standard_code": "string",
            "sector_code": "string",
            "sector_accreditation_status": "string",
            "suspended_withdrawn_date": "string",
            "full_limited": "string",
            "extent_of_scope": "string"
        }
    ]
}
`)

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

  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))
}
var client = new RestClient("https://api.iafcertsearch.org/api/client/v2/ab/upload-cb");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("x-http-authorization", "<<API_KEY>>");
var body = @"{" + "\n" +
@"    ""certification_body_identity_number"": ""string""," + "\n" +
@"    ""certification_body_name"": ""string""," + "\n" +
@"    ""certification_body_acronym"": ""string""," + "\n" +
@"    ""website"": ""string""," + "\n" +
@"    ""country"": ""string""," + "\n" +
@"    ""description"": ""string""," + "\n" +
@"    ""accreditation_status"": ""string""," + "\n" +
@"    ""public_email_address"": ""string""," + "\n" +
@"    ""public_phone_number"": ""string""," + "\n" +
@"    ""public_fax_number"": ""string""," + "\n" +
@"    ""key_locations"": [" + "\n" +
@"        {" + "\n" +
@"            ""key_location_id"": ""string""," + "\n" +
@"            ""office_type"": ""string""," + "\n" +
@"            ""country"": ""string""," + "\n" +
@"            ""street"": ""string""," + "\n" +
@"            ""state"": ""string""," + "\n" +
@"            ""city"": ""string""," + "\n" +
@"            ""zip_code"": ""string""" + "\n" +
@"        }" + "\n" +
@"    ]," + "\n" +
@"    ""certification_body_countries"": [" + "\n" +
@"        {" + "\n" +
@"            ""country"": ""string""," + "\n" +
@"            ""economy_accreditation_status"": ""string""," + "\n" +
@"            ""suspended_withdrawn_date"": ""string""," + "\n" +
@"            ""scheme_name"": ""string""," + "\n" +
@"            ""standard_code"": ""string""" + "\n" +
@"        }" + "\n" +
@"    ""standard_and_schemes"": [ " + "\n" +
@"        {" + "\n" +
@"            ""key_locations"": ""string""," + "\n" +
@"            ""standard_code"": ""string""," + "\n" +
@"            ""issue_date"": ""string""," + "\n" +
@"            ""first_issue_date"": ""string""," + "\n" +
@"            ""expiry_date"": ""string""," + "\n" +
@"            ""scheme_name"": ""string""," + "\n" +
@"            ""scope_type"": ""string""," + "\n" +
@"            ""standard_status"": ""string""" + "\n" +
@"        }" + "\n" +
@"    ]," + "\n" +
@"    ""technical_sectors"": [" + "\n" +
@"        {" + "\n" +
@"            ""sector_title"": ""string""," + "\n" +
@"            ""scheme_name"": ""string""," + "\n" +
@"            ""standard_code"": ""string""" + "\n" +
@"            ""sector_code"": ""string""" + "\n" +
@"            ""sector_accreditation_status"": ""string""" + "\n" +
@"            ""suspended_withdrawn_date"": ""string""" + "\n" +
@"            ""full_limited"": ""string""" + "\n" +
@"            ""extent_of_scope"": ""string""" + "\n" +
@"        }" + "\n" +
@"    ]" + "\n" +
@"}" + "\n" +
@"";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
PreviousCertification Body APINextRetrieve all Certification Bodies

Last updated 7 months ago