All pages
Powered by GitBook
1 of 1

Loading...

Retrieve Company & Certificates

Retrieve Company & Certificates

Find company and certificates by name and match rate.

POST /company

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

  • The API can only match one Certified Entity from IAFCertSearch per request.

  • Company Information Requirements:

    • At least one of the two fields, company_name or company_identifiers, must be provided.

Headers

Name
Type
Description

Request Body

Name
Type
Description

Example Payload Request

Responses

Request Successful

Some data are Confidential

Bad Request - Validation Errors

Unauthorized Access

Forbidden Access

Insufficient Credit

Match Rate Value:

  • The default rate value is set to 100.

  • The minimum acceptable rate value is 80, regardless of whether a lower threshold is specified.

  • Valid rate values range from 80 to 100, in increments of 5.

  • Any rate value exceeding 100 will automatically be capped at 100.

  • Response Value:

    • The API will return a single matched Certified Entity record with its Certificates.

  • API Request Limit Reached

    Not Found

    Content-Type*

    String

    application/json

    x-http-authorization*

    String

    API Key received from https://www.iafcertsearch.org/api-verification

    Example:

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

    company_country*

    String

    Country/Economy of the main entity address for the Certified Entity. Supports full country name, alpha-2 and alpha-3 format (click for more information) Example: Australia | AU | AUS

    company_name

    String

    Certified Entity Name (Company Name) as detailed on the Certificate.

    company_identifiers

    Object

    Additional Company Fields

    Format: "company_identifiers": {

    "vat": "string",

    "tax_id": "string",

    "business_registration_number": "string",

    "duns_number": "string",

    "company_id_number": "string"

    }

    match_rate

    Number / String

    The percentage or similarity score indicating how closely the details of two companies match during the verification process. Example: 100 | "100%"

    {
      "type": "string",
      "title": "Resource not found.",
      "status": 404,
      "detail": "Company not found in IAFCertSearch.",
      "instance": "/company",
      "code": "not_found"
    }
    {
      "company_name": "IAF",
      "company_country": "Australia",
      "company_identifiers": {
        "vat": null,
        "tax_id": null,
        "business_registration_number": null,
        "duns_number": null,
        "company_id_number": null
      },
      "match_rate": 90
    }
    {
      "company_name": null,
      "company_country": "Australia",
      "company_identifiers": {
        "vat": "VAT",
        "tax_id": "TAX ID",
        "business_registration_number": "BUSINESS REGISTRATION NUMBER",
        "duns_number": "DUNS NUMBER",
        "company_id_number": "COMPANY ID NUMBER"
      },
      "match_rate": 90
    }
    {
      "company_name": "IAF",
      "company_country": "Australia",
      "company_identifiers": {
        "vat": null,
        "tax_id": null,
        "business_registration_number": null,
        "duns_number": "DUNS NUMBER",
        "company_id_number": "COMPANY ID NUMBER"
      },
      "match_rate": 100
    }
    {
      "company_name": "QualityTrade",
      "company_country": "Australia",
      "company_identifiers": { // Have priority over company_name
        "vat": "VAT",
        "tax_id": "TAX ID",
        "business_registration_number": "BUSINESS REGISTRATION NUMBER",
        "duns_number": "DUNS NUMBER",
        "company_id_number": "COMPANY ID NUMBER"
      },
      "match_rate": 100
    }
    curl --location --globoff --request POST '{API_URL}/company' \
    --header 'x-http-authorization: <API_KEY>' \
    --header 'Content-Type: application/json' \
    --data '{
      "company_name": "string",
      "company_country": "string",
      "company_identifiers": {
        "vat": "string",
        "tax_id": "string",
        "business_registration_number": "string",
        "duns_number": "string",
        "company_id_number": "string"
      },
      "match_rate": 90
    }'
    require "uri"
    require "json"
    require "net/http"
    
    url = URI("{API_URL}/company")
    
    http = Net::HTTP.new(url.host, url.port);
    request = Net::HTTP::Post.new(url)
    request["x-http-authorization"] = 
    request["Content-Type"] = "application/json"
    request.body = JSON.dump({
      "company_name": "string",
      "company_country": "string",
      "company_identifiers": {
        "vat": "string",
        "tax_id": "string",
        "business_registration_number": "string",
        "duns_number": "string",
        "company_id_number": "string"
      },
      "match_rate": 90
    })
    
    response = http.request(request)
    puts response.read_body
    import http.client
    import json
    
    conn = http.client.HTTPSConnection("{API_URL}")
    payload = json.dumps({
      "company_name": "string",
      "company_country": "string",
      "company_identifiers": {
        "vat": "string",
        "tax_id": "string",
        "business_registration_number": "string",
        "duns_number": "string",
        "company_id_number": "string"
      },
      "match_rate": 90
    })
    headers = {
      'x-http-authorization': '<API_KEY>',
      'Content-Type': 'application/json'
    }
    conn.request("POST", "/company", payload, headers)
    res = conn.getresponse()
    data = res.read()
    print(data.decode("utf-8"))
    <?php
    
    $curl = curl_init();
    
    curl_setopt_array($curl, array(
      CURLOPT_URL => '{API_URL}/company',
      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 =>'{
      "company_name": "string",
      "company_country": "string",
      "company_identifiers": {
        "vat": "string",
        "tax_id": "string",
        "business_registration_number": "string",
        "duns_number": "string",
        "company_id_number": "string"
      },
      "match_rate": 90
    }',
      CURLOPT_HTTPHEADER => array(
        'x-http-authorization: <API_KEY>',
        'Content-Type: application/json'
      ),
    ));
    
    $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  \"company_name\": \"string\",\n  \"company_country\": \"string\",\n  \"company_identifiers\": {\n    \"vat\": \"string\",\n    \"tax_id\": \"string\",\n    \"business_registration_number\": \"string\",\n    \"duns_number\": \"string\",\n    \"company_id_number\": \"string\"\n  },\n  \"match_rate\": 90\n}");
    Request request = new Request.Builder()
      .url("{API_URL}/company")
      .method("POST", body)
      .addHeader("x-http-authorization", "<API_KEY>")
      .addHeader("Content-Type", "application/json")
      .build();
    Response response = client.newCall(request).execute();
    const axios = require('axios');
    let data = JSON.stringify({
      "company_name": "string",
      "company_country": "string",
      "company_identifiers": {
        "vat": "string",
        "tax_id": "string",
        "business_registration_number": "string",
        "duns_number": "string",
        "company_id_number": "string"
      },
      "match_rate": 90
    });
    
    let config = {
      method: 'post',
      maxBodyLength: Infinity,
      url: '{API_URL}/company',
      headers: { 
        'x-http-authorization': '<API_KEY>', 
        'Content-Type': 'application/json'
      },
      data : data
    };
    
    axios.request(config)
    .then((response) => {
      console.log(JSON.stringify(response.data));
    })
    .catch((error) => {
      console.log(error);
    });
    
    package main
    
    import (
      "fmt"
      "strings"
      "net/http"
      "io"
    )
    
    func main() {
    
      url := "{API_URL}/company"
      method := "POST"
    
      payload := strings.NewReader(`{
      "company_name": "string",
      "company_country": "string",
      "company_identifiers": {
        "vat": "string",
        "tax_id": "string",
        "business_registration_number": "string",
        "duns_number": "string",
        "company_id_number": "string"
      },
      "match_rate": 90
    }`)
    
      client := &http.Client {
      }
      req, err := http.NewRequest(method, url, payload)
    
      if err != nil {
        fmt.Println(err)
        return
      }
      req.Header.Add("x-http-authorization", "<API_KEY>")
      req.Header.Add("Content-Type", "application/json")
    
      res, err := client.Do(req)
      if err != nil {
        fmt.Println(err)
        return
      }
      defer res.Body.Close()
    
      body, err := io.ReadAll(res.Body)
      if err != nil {
        fmt.Println(err)
        return
      }
      fmt.Println(string(body))
    }
    var options = new RestClientOptions("{API_URL}/company")
    {
      MaxTimeout = -1,
    };
    var client = new RestClient(options);
    var request = new RestRequest("", Method.Post);
    request.AddHeader("x-http-authorization", "<API_KEY>");
    request.AddHeader("Content-Type", "application/json");
    var body = @"{" + "\n" +
    @"  ""company_name"": ""string""," + "\n" +
    @"  ""company_country"": ""string""," + "\n" +
    @"  ""company_identifiers"": {" + "\n" +
    @"    ""vat"": ""string""," + "\n" +
    @"    ""tax_id"": ""string""," + "\n" +
    @"    ""business_registration_number"": ""string""," + "\n" +
    @"    ""duns_number"": ""string""," + "\n" +
    @"    ""company_id_number"": ""string""" + "\n" +
    @"  }," + "\n" +
    @"  ""match_rate"": 90" + "\n" +
    @"}";
    request.AddStringBody(body, DataFormat.Json);
    RestResponse response = await client.ExecuteAsync(request);
    Console.WriteLine(response.Content);
    {
      "data": {
        "ce_id": string,
        "matched_certified_entity_name": string,
        "match_status": string,
        "match_type": string,
        "certified_entity_english_name": string,
        "certified_entity_trading_name": string,
        "country": string,
        "certified_entity_addresses": [
          {
            "street": string,
            "city": string,
            "state": string,
            "post_code": string,
            "full_address": string,
            "country": string
          }
        ],
        "certificates": [
          {
            "cert_id": string,
            "accreditation_bodies_name": string,
            "certification_bodies_name": string,
            "certification_number": string,
            "certification_status": string,
            "certification_scope": string,
            "certification_issuance_dates": {
              "certification_expiry_date": string
            },
            "certification_standards_scheme": [
              {
                "standard_name": string,
                "scheme_name": string,
                "is_accredited_mla": boolean
              }
            ],
            "certification_main_sites": [
              {
                "street": string,
                "city": string,
                "state": string,
                "post_code": string,
                "full_address": string,
                "scope": string,
                "country": string
              }
            ],
            "certification_additional_sites": [
              {
                "street": string,
                "city": string,
                "state": string,
                "post_code": string,
                "full_address": string,
                "scope": string,
                "country": string
              }
            ],
            "certification_sectors": [
              {
                "sector_name": string,
                "sector_code": string
              }
            ],
            "updated_at": integer
          }
        ]
      }
    }
    {
      "data": {
        "ce_id": string,
        "matched_certified_entity_name": string,
        "match_status": string,
        "match_type": string,
        "certified_entity_english_name": "Confidential",
        "certified_entity_trading_name": "Confidential",
        "country": string,
        "certified_entity_addresses": [
          {
            "street": "Confidential",
            "city": "Confidential",
            "state": "Confidential",
            "post_code": "Confidential",
            "full_address": "Confidential",
            "country": string
          }
        ],
        "certificates": [
          {
            "cert_id": string,
            "accreditation_bodies_name": string,
            "certification_bodies_name": string,
            "certification_number": string,
            "certification_status": string,
            "certification_scope": string,
            "certification_issuance_dates": {
              "certification_expiry_date": string
            },
            "certification_standards_scheme": [
              {
                "standard_name": string,
                "scheme_name": string,
                "is_accredited_mla": boolean
              }
            ],
            "certification_main_sites": [
              {
                "street": string,
                "city": string,
                "state": string,
                "post_code": string,
                "full_address": string,
                "scope": string,
                "country": string
              }
            ],
            "certification_additional_sites": [
              {
                "street": string,
                "city": string,
                "state": string,
                "post_code": string,
                "full_address": string,
                "scope": string,
                "country": string
              }
            ],
            "certification_sectors": [
              {
                "sector_name": string,
                "sector_code": string
              }
            ],
            "updated_at": integer
          }
        ]
      }
    }
    {
      "type": "string",
      "title": "Validation errors.",
      "status": 400,
      "detail": "The request body has validation errors.",
      "instance": "/company",
      "code": "validation",
      "errors": [
        {
          "field": "field_name",
          "detail": "error_message"
        }
      ]
    }
    {
      "type": "string",
      "title": "Unauthorized access.",
      "status": 401,
      "detail": "Authentication failed due to invalid credentials or missing token.",
      "instance": "/company",
      "code": "unauthorized"
    }
    {
      "type": "string",
      "title": "Forbidden access.",
      "status": 403,
      "detail": "You do not have access to this resource.",
      "instance": "/company",
      "code": "forbidden"
    }
    {
      "type": "string",
      "title": "Insufficient credit.",
      "status": 403,
      "detail": "You are trying to access data that exceeds your available credits. To increase your available credits, please contact us at [email protected].",
      "instance": "/company",
      "code": "insufficient_credit"
    }
    {
        "type": "string",
        "title": "API request limit reached.",
        "status": 403,
        "detail": "API request limit reached. To increase your API request limit, contact us at [email protected].",
        "instance": "/company",
        "code": "api_request_limit_reached"
    }