NAV Navbar
Shell

Introduction

Welcome to the Talent Garden API! You can use our API endpoints, which can offer to you a set of tools that you can use to build new products.

We have language bindings in Shell and you can view code examples in the dark area to the right.

API Setup

The setup of the Talent Garden API starts requesting an API Key.

You can request an API key getting in touch with us.

API base url is https://api.talentgarden.net

Development and testing can be done on a dedicated demo environment with test API keys at https://api-dev.talentgarden.net.

Click here to submit a request to whitelist your domain specifying what you are developing and how this access can help you to speed up the development process or to improve the user experience.

Authentication

Authentication method changes based on the APIs service you need to call. Talent Garden uses two different types of authentication:

  1. API Key
  2. JSON Web Token (JWT)

In each API service main section (Guest, User, SMS) is described the authentication method required from that service. Every API service supports only one type of authentication method, so if for example the User service requires JWT authentication does not accept API Key authentication.

Some of our API services, like for example the Enrichment API, can be used client side after that the domain has been whitelisted from us.
Click here to submit a request to whitelist your domain specifying what you are developing and how this access can help you to speed up the development process or to improve the user experience.

API Key

To authorize, use this code:

# With shell, you can just pass the correct header with each request
curl "api_endpoint_here"
  -H "x-api-key: YOUR_API_KEY"

Make sure to replace YOUR_API_KEY with your API key.

API key allows to access to some of our API services. This kind of authentication is often used for server to server comminication because API Key does not expire. For this way we highly reccomend to not expose the API Key client-side.

You can request an API key getting in touch with us.

Talent Garden expects the API key to be included in all API requests to the server in a header that looks like the following:

x-api-key: YOUR_API_KEY

Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.

JSON Web Token

To authorize, use this code:

# With shell, you can just pass the correct header with each request
curl "api_endpoint_here"
  -H "Authorization: Bearer YOUR_JWT"

Make sure to replace YOUR_JWT with your JWT.

JSON Web Token (JWT) authentication is used to call API Services personifying a specific logged user. The JWT must be issued from one of our applications registered in our Auth0 tenants.

To make calls to the API, send the JWT in the Authorization HTTP header using the Bearer authentication scheme. Talent Garden expects the JWT to be included in all API requests from the client in a header that looks like the following:

Authorization: Bearer YOUR_JWT

You can request an Auth0 OAuth2 client getting in touch with us.

Enrichment

The Enrichment API service lets you look up person and company data based on an email or domain. For example, you could retrieve a person’s name, location and social handles from an email. Or you could lookup a company’s location, headcount or logo based on their domain name.

Combined

A common use-case is looking up a person and company simultaneously based on a email address. To save you making two requests to do this, we offer a combined lookup API.

This endpoint expects an email address, and will return an object containing both the person and company (if found). A call to the combined lookup will only count as one API call.

curl "https://api.talentgarden.net/enrichment/v1/combined?email=davide.dattoli@talentgarden.org" \
  --header "x-api-key: YOUR_API_KEY"

The above command returns JSON structured like this:

{
    "options": {},
    "person": {
        "id": "1d5d98b6-7703-425c-8087-d04ea335216d",
        "name": {
            "fullName": "Davide Dattoli",
            "givenName": "Davide",
            "familyName": "Dattoli"
        },
        "email": "davide.dattoli@talentgarden.org",
        "gender": null,
        "location": "IT",
        "timeZone": "Europe/Vatican",
        "utcOffset": 1,
        "geo": {
            "city": null,
            "state": null,
            "stateCode": null,
            "country": "Italy",
            "countryCode": "IT",
            "lat": 41.87194,
            "lng": 12.56738
        },
        "bio": "The best way to predict the future is to invent it. - President of @TalentGardenen Shaping a new way of Work, Learn and Connect",
        "site": "http://www.davidedattoli.it",
        "avatar": "https://d1ts43dypk8bqh.cloudfront.net/v1/avatars/1d5d98b6-7703-425c-8087-d04ea335216d",
        "employment": {
            "domain": "talentgarden.org",
            "name": "Talent Garden",
            "title": "CEO, Talent Garden, Talent Garden",
            "role": "ceo",
            "seniority": "executive"
        },
        "facebook": {
            "handle": "davidedattoli"
        },
        "github": {
            "handle": null,
            "id": null,
            "avatar": null,
            "company": null,
            "blog": null,
            "followers": null,
            "following": null
        },
        "twitter": {
            "handle": "davidedattoli",
            "id": 14523150,
            "bio": "The best way to predict the future is to invent it. - President of @TalentGardenen Shaping a new way of Work, Learn and Connect",
            "followers": 10609,
            "following": 1331,
            "statuses": 19904,
            "favorites": 4179,
            "location": "Brescia ✈ Milan ✈ New York",
            "site": "http://www.davidedattoli.it",
            "avatar": "https://pbs.twimg.com/profile_images/2539077588/1h7p22673pueqyq9ds9k.png"
        },
        "linkedin": {
            "handle": "in/davidedattoli"
        },
        "googleplus": {
            "handle": null
        },
        "aboutme": {
            "handle": null,
            "bio": null,
            "avatar": null
        },
        "gravatar": {
            "handle": null,
            "urls": null,
            "avatar": null,
            "avatars": []
        },
        "fuzzy": false,
        "emailProvider": false,
        "indexedAt": "2018-11-10T03:40:25.307Z"
    },
    "company": {
        "id": "6b0524b2-9c2d-4988-990e-afd5492f1673",
        "name": "Talent Garden",
        "legalName": null,
        "domain": "talentgarden.org",
        "domainAliases": [
            "talentgarden.ie",
            "talentgarden.es",
            "talentgarden.at",
            "talentgarden.co",
            "talentgarden.co.uk"
        ],
        "site": {
            "phoneNumbers": [],
            "emailAddresses": [
                "info@talentgarden.org"
            ]
        },
        "category": {
            "sector": "Information Technology",
            "industryGroup": "Software & Services",
            "industry": "Internet Software & Services",
            "subIndustry": "Internet",
            "sicCode": "87",
            "naicsCode": "54"
        },
        "tags": [
            "Marketplace",
            "B2B",
            "B2C",
            "Internet"
        ],
        "description": "Talent Garden creates campuses to empower digital tech communities and connect them globally: coworking space, digital training, and networking. Join us!",
        "foundedYear": null,
        "location": "Via Cipro, 66, 25124 Brescia BS, Italy",
        "timeZone": "Europe/Rome",
        "utcOffset": 1,
        "geo": {
            "streetNumber": "66",
            "streetName": "Via Cipro",
            "subPremise": null,
            "city": "Brescia",
            "postalCode": "25124",
            "state": "Lombardia",
            "stateCode": null,
            "country": "Italy",
            "countryCode": "IT",
            "lat": 45.5246905,
            "lng": 10.2104083
        },
        "logo": "https://logo.clearbit.com/talentgarden.org",
        "facebook": {
            "handle": "talentgarden",
            "likes": 57056
        },
        "linkedin": {
            "handle": "company/talent-garden"
        },
        "twitter": {
            "handle": "talentgardenen",
            "id": "1291422799",
            "bio": "The place for explorers and innovators. #TalentGarden",
            "followers": 2459,
            "following": 726,
            "location": "",
            "site": "http://t.co/B91DTO9Gge",
            "avatar": "https://pbs.twimg.com/profile_images/882185915665448965/8K9la42a_normal.jpg"
        },
        "crunchbase": {
            "handle": "organization/talent-garden"
        },
        "emailProvider": false,
        "type": "private",
        "ticker": null,
        "identifiers": {
            "usEIN": null
        },
        "phone": null,
        "metrics": {
            "alexaUsRank": null,
            "alexaGlobalRank": null,
            "employees": 75,
            "employeesRange": "51-250",
            "marketCap": null,
            "raised": 12990000,
            "annualRevenue": null,
            "estimatedAnnualRevenue": "$10M-$50M",
            "fiscalYearEnd": null
        },
        "indexedAt": "2018-10-25T06:47:29.859Z",
        "tech": [
            "mailchimp",
            "google_apps",
            "activecampaign",
            "google_tag_manager",
            "facebook_advertiser",
            "facebook_connect",
            "nginx",
            "wordpress",
            "google_maps",
            "youtube",
            "sumo",
            "piwik",
            "google_analytics",
            "hubspot"
        ],
        "parent": {
            "domain": null
        }
    }
}

This endpoint retrieves all informations about a company.

HTTP Request

GET https://api.talentgarden.net/enrichment/v1/combined?email=:email

Query Parameters

Parameter Required Description
email true the person’s email address

Company

The Company API allows you to look up a company by their domain. Alongside the domain you may also provide any additional attributes you have about the company, such as their company name or twitter handle. Including more detail will help us be more accurate when searching.

curl "https://api.talentgarden.net/enrichment/v1/companies?domain=talentgarden.org" \
  --header "x-api-key: YOUR_API_KEY"

The above command returns JSON structured like this:

{
    "id": "6b0524b2-9c2d-4988-990e-afd5492f1673",
    "name": "Talent Garden",
    "legalName": null,
    "domain": "talentgarden.org",
    "domainAliases": [
        "talentgarden.ie",
        "talentgarden.es",
        "talentgarden.at",
        "talentgarden.co",
        "talentgarden.co.uk"
    ],
    "site": {
        "phoneNumbers": [],
        "emailAddresses": [
            "info@talentgarden.org"
        ]
    },
    "category": {
        "sector": "Information Technology",
        "industryGroup": "Software & Services",
        "industry": "Internet Software & Services",
        "subIndustry": "Internet",
        "sicCode": "87",
        "naicsCode": "54"
    },
    "tags": [
        "Marketplace",
        "B2B",
        "B2C",
        "Internet"
    ],
    "description": "Talent Garden creates campuses to empower digital tech communities and connect them globally: coworking space, digital training, and networking. Join us!",
    "foundedYear": null,
    "location": "Via Cipro, 66, 25124 Brescia BS, Italy",
    "timeZone": "Europe/Rome",
    "utcOffset": 1,
    "geo": {
        "streetNumber": "66",
        "streetName": "Via Cipro",
        "subPremise": null,
        "city": "Brescia",
        "postalCode": "25124",
        "state": "Lombardia",
        "stateCode": null,
        "country": "Italy",
        "countryCode": "IT",
        "lat": 45.5246905,
        "lng": 10.2104083
    },
    "logo": "https://logo.clearbit.com/talentgarden.org",
    "facebook": {
        "handle": "talentgarden",
        "likes": 57056
    },
    "linkedin": {
        "handle": "company/talent-garden"
    },
    "twitter": {
        "handle": "talentgardenen",
        "id": "1291422799",
        "bio": "The place for explorers and innovators. #TalentGarden",
        "followers": 2459,
        "following": 726,
        "location": "",
        "site": "http://t.co/B91DTO9Gge",
        "avatar": "https://pbs.twimg.com/profile_images/882185915665448965/8K9la42a_normal.jpg"
    },
    "crunchbase": {
        "handle": "organization/talent-garden"
    },
    "emailProvider": false,
    "type": "private",
    "ticker": null,
    "identifiers": {
        "usEIN": null
    },
    "phone": null,
    "metrics": {
        "alexaUsRank": null,
        "alexaGlobalRank": null,
        "employees": 75,
        "employeesRange": "51-250",
        "marketCap": null,
        "raised": 12990000,
        "annualRevenue": null,
        "estimatedAnnualRevenue": "$10M-$50M",
        "fiscalYearEnd": null
    },
    "indexedAt": "2018-10-25T06:47:29.859Z",
    "tech": [
        "mailchimp",
        "google_apps",
        "activecampaign",
        "google_tag_manager",
        "facebook_advertiser",
        "facebook_connect",
        "nginx",
        "wordpress",
        "google_maps",
        "youtube",
        "sumo",
        "piwik",
        "google_analytics",
        "hubspot"
    ],
    "parent": {
        "domain": null
    }
}

This endpoint retrieves all informations about a company.

HTTP Request

GET https://api.talentgarden.net/enrichment/v1/companies?domain=:domain

Query Parameters

Parameter Required Description
domain true the company’s domain

Person

The People API lets you retrieve social information associated with an email address, such as a person’s name, location and Twitter handle.

curl "https://api.talentgarden.net/enrichment/v1/people?email=davide.dattoli@talentgarden.org" \
  --header "x-api-key: YOUR_API_KEY"

The above command returns JSON structured like this:

{
    "options": {},
    "id": "1d5d98b6-7703-425c-8087-d04ea335216d",
    "name": {
        "fullName": "Davide Dattoli",
        "givenName": "Davide",
        "familyName": "Dattoli"
    },
    "email": "davide.dattoli@talentgarden.org",
    "gender": null,
    "location": "IT",
    "timeZone": "Europe/Vatican",
    "utcOffset": 1,
    "geo": {
        "city": null,
        "state": null,
        "stateCode": null,
        "country": "Italy",
        "countryCode": "IT",
        "lat": 41.87194,
        "lng": 12.56738
    },
    "bio": "The best way to predict the future is to invent it. - President of @TalentGardenen Shaping a new way of Work, Learn and Connect",
    "site": "http://www.davidedattoli.it",
    "avatar": "https://d1ts43dypk8bqh.cloudfront.net/v1/avatars/1d5d98b6-7703-425c-8087-d04ea335216d",
    "employment": {
        "domain": "talentgarden.org",
        "name": "Talent Garden",
        "title": "CEO, Talent Garden, Talent Garden",
        "role": "ceo",
        "seniority": "executive"
    },
    "facebook": {
        "handle": "davidedattoli"
    },
    "github": {
        "handle": null,
        "id": null,
        "avatar": null,
        "company": null,
        "blog": null,
        "followers": null,
        "following": null
    },
    "twitter": {
        "handle": "davidedattoli",
        "id": 14523150,
        "bio": "The best way to predict the future is to invent it. - President of @TalentGardenen Shaping a new way of Work, Learn and Connect",
        "followers": 10609,
        "following": 1331,
        "statuses": 19904,
        "favorites": 4179,
        "location": "Brescia ✈ Milan ✈ New York",
        "site": "http://www.davidedattoli.it",
        "avatar": "https://pbs.twimg.com/profile_images/2539077588/1h7p22673pueqyq9ds9k.png"
    },
    "linkedin": {
        "handle": "in/davidedattoli"
    },
    "googleplus": {
        "handle": null
    },
    "aboutme": {
        "handle": null,
        "bio": null,
        "avatar": null
    },
    "gravatar": {
        "handle": null,
        "urls": null,
        "avatar": null,
        "avatars": []
    },
    "fuzzy": false,
    "emailProvider": false,
    "indexedAt": "2018-11-10T03:40:25.307Z"
}

This endpoint retrieves all informations about a person.

HTTP Request

GET https://api.talentgarden.net/enrichment/v1/people?email=:email

Query Parameters

Parameter Required Description
email true the person’s email address

Guest

Guest REST API service allows you to register one or more people that are visiting a campus member.

Registrations

This endpoint allow you to create a new guest Registration. When a Registration is created, the campus member receives three different notifications based on informations we know about him. Notifications are: email, sms and slack. For example: email notification is always sent because we always know the email address; sms notification is sent only if the user added his phone number in his profile; the slack notification is sent only for members that are part of the Slack's organization Talent Garden.

The API response describe which kind of notifications we were able to delivery to the campus member.

curl https://api.talentgarden.net/guest/v1/registrations \
  --request POST \
  --data '{
    "full_name": "Guest",
    "email": "guest@talentgarden.org",
    "looking_for": "member@talentgarden.org",
    "campus_name": "Tag Milano Calabiana",
    "newsletter": true,
    "guests_number": 2,
    "company_name": "Guest Company",
    "telephones": ["+393334455666"]
  }' \
  --header "Content-Type: application/json"

The above command returns JSON structured like this:

{
    "email": true,
    "sms": true,
    "slack": false
}

HTTP Request

POST https://api.talentgarden.net/guest/v1/registrations

Body Parameters

Parameter Required Description
full_name true the guest's full name
email true the guest's email address
looking_for true the campus member email address. This will be use to fetch the user and, if it exists, to delivery the email.
campus_name true the campus where the guest is. This name will be used in the notification message
newsletter true true if the user can be added in our newsletter otherwise false
guests_number false the additional guests number that are with the guest
company_name false the company name where the guest work
telephones false the phone numbers that will receive the SMS. For example: sending the value of this field as an array of two elements, both the numbers will receive the same SMS. Format each number with a '+' and a country code, e.g., +16175551212
latitude false the latitude where the device that the guest is using is
longitude false the longitude where the device that the guest is using is
altitude false the altitude where the device that the guest is using is

Jump In

This endpoint allow you to create a new jump in guest. Since this guest is not related to a campus member this endpoint does not send any kind of notifications but, if the user agrees, he can be added in our newsletter.

The API response returns an empty object if everything went well.

curl https://api.talentgarden.net/guest/v1/jump_in \
  --request POST \
  --data '{
    "full_name": "Guest",
    "email": "guest@talentgarden.org",
    "campus_name": "Tag Milano Calabiana",
    "newsletter": true
  }' \
  --header "Content-Type: application/json"

The above command returns JSON structured like this:

{}

HTTP Request

POST https://api.talentgarden.net/guest/v1/jump_in

Body Parameters

Parameter Required Description
full_name true the guest's full name
email true the guest's email address
campus_name true the campus where the guest is
newsletter true true if the user can be added in our newsletter otherwise false
latitude false the latitude where the device that the guest is using is
longitude false the longitude where the device that the guest is using is
altitude false the altitude where the device that the guest is using is

Notification

Notification REST API service allows you to get in touch with our members using different channels.

Emails

Send email with template

This endpoint allow you to send an email specifing an existing template. Template is dynamically populated and every template required its own template_data object based on how the templated has been realized.

The API response returns 200 if the email can be queued to be sent.

curl https://api.talentgarden.net/notification/v1/emails/d-6e84a13f03a848d68985b2c4de89f29c \
  --request POST \
  --data '{
      "from": {
        "email": "info@talentgarden.net",
        "name": "Talent Garden"
      },
      "to": "davide.dattoli@talentgarden.com",
      "cc": ["davide.dattoli@talentgarden.com"],
      "bcc": ["davide.dattoli@talentgarden.com"],
      "categories": ["marketing", "newsletter"],
      "template_data": {
        "subject": "My subject",
        "text": "Hello world!"
      }
    }' \
  --header "Content-Type: application/json" \

The above command returns JSON structured like this:

{}

HTTP Request

POST https://api.talentgarden.net/notification/v1/emails/:templateId

URL Parameters

Parameter Required Description
templateId true the id of the template to use. Please get in touch with us if you are not sure which id to use.

Body Parameters

Parameter Required Description
from.email true the email address to use as sender. We only accept email addresses under talentgarden.net domain
from.name false the sender name
to true the recipient(s) of the email to be sent. In case of one recipient this value can is a string while if there are multiple recipients this value is an array of strings (email addresses)
categories true array of strings of how the email can be categorized. Ex: marking or newsletter
template_data true this object must contain all the data required from the template you are using. In order to use the template correctly we suggest to review how it has been built
cc false the recipient(s) of the email that must be in CC. In case of one recipient this value can is a string while if there are multiple recipients this value is an array of strings (email addresses)
bcc false the recipient(s) of the email that must be in BCC. In case of one recipient this value can is a string while if there are multiple recipients this value is an array of strings (email addresses)

SMS

Using SMS REST API, you can send outgoing SMS messages from an alphanumeric sender ID identifier to mobile phones around the globe.

An alphanumeric sender ID of up to 11 characters can be used for sending messages. To use an alphanumeric sender ID for sending messages, input your ID in the from parameter of your API request. Alphanumeric Sender ID messages are one-way only, as users will be unable to directly reply to messages not sent from a phone number.

Messages

Create a message

This endpoint allow you to send a new outgoing message from an alphanumeric ID to an outside number.

curl https://api.talentgarden.net/sms/v1/messages \
  --request POST \
  --data '{"from": "TagMilan","to": "+393334455666", "body": "Hi there, someone is waiting for you at the reception", "country": "IT"}' \
  --header "Content-Type: application/json" \
  --header "x-api-key: YOUR_API_KEY"

The above command returns JSON structured like this:

{
    "accountSid": "ACe216cab89d888c5cb280335ef76df4c3",
    "apiVersion": "2010-04-01",
    "body": "Hi there, someone is waiting for you at the reception",
    "dateCreated": "2018-11-27T10:18:00.000Z",
    "dateUpdated": "2018-11-27T10:18:00.000Z",
    "dateSent": null,
    "direction": "outbound-api",
    "errorCode": null,
    "errorMessage": null,
    "from": "TagMilan",
    "messagingServiceSid": null,
    "numMedia": "0",
    "numSegments": "1",
    "price": null,
    "priceUnit": "USD",
    "sid": "SM82743a9aab8f47259529a0776fe45eb4",
    "status": "queued",
    "subresourceUris": {
        "media": "/2010-04-01/Accounts/ACe216cab89d888c5cb280335ef76df4c3/Messages/SM82743a9aab8f47259529a0776fe45eb4/Media.json"
    },
    "to": "+393334455666",
    "uri": "/2010-04-01/Accounts/ACe216cab89d888c5cb280335ef76df4c3/Messages/SM82743a9aab8f47259529a0776fe45eb4.json"
}

HTTP Request

POST https://api.talentgarden.net/sms/v1/messages

Body Parameters

Parameter Required Description
from true this must be an alphanumeric ID
to true this parameter determines the destination phone number for your SMS message. Format this number with a '+' and a country code, e.g., +16175551212 (E.164 format)
body true the full text of the message you want to send. If the body of your message is more than 160 characters, we will send the message as a segmented SMS
country true the ISO country code where is the campus that is sending the SMS. Right now only IT is allowed

User

The User API service lets you to manage different types of user entities. Right now only Members are available.

Members

Get member profile

This endpoint allow you to retrieve user profile information that, for example, can be used to personalize the experience of people interacting with your App.

curl "https://api.talentgarden.net/user/v1/members/:auth0_id/profile" \
  --header "Authentication: Bearer YOUR_JWT"

The above command returns JSON structured like this:

{
    "id": 3763,
    "email": "davide.dattoli@talentgarden.org",
    "first_name": "Davide",
    "last_name": "Dattoli",
    "picture_url": "https://talentgarden.org/davide.png",
    "biography": "Help people succeed",
    "title": "CEO",
    "enabled": true,
    "deleted": false,
    "telephones": [{
        "id": 789,
        "prefix": "39",
        "number": "3332345678"
    }],
    "customers": [{
        "id": 45,
        "name": "Talent Garden S.p.A",
        "credits": {
            "free": 1470,
            "paid": 0
        }
    }],
    "privacy_consent": true,
    "marketing_consent": false,
    "profiling_consent": true,
    "branches": [{
            "id": 22,
            "name": "Talent Garden S.p.A",
            "logo_url": "https://people.talentgarden.org/uploads/images/logo.png",
            "cover_url": "https://people.talentgarden.org/uploads/images/cover.jpeg",
            "members_count": 1,
            "registration_wizard_completed": true,
            "has_approved_subscription": true,
            "content_types": [
                "post",
                "idea_entity",
                "event",
                "project",
                "workgroup",
                "idea",
                "media",
                "request_offer"
            ],
            "new_content_types": [{
                    "type": "post",
                    "filtering_type": "post"
                },
                {
                    "type": "idea_entity",
                    "filtering_type": "idea_entity"
                },
                {
                    "type": "event",
                    "filtering_type": "event"
                },
                {
                    "type": "project",
                    "filtering_type": "project"
                },
                {
                    "type": "workgroup",
                    "filtering_type": "workgroup"
                },
                {
                    "type": "idea",
                    "filtering_type": "idea"
                },
                {
                    "type": "media",
                    "filtering_type": "media"
                },
                {
                    "type": "request_offer",
                    "filtering_type": "request_offer"
                }
            ],
            "share_data_consent": null
        }
    ],
    "skills": [{
            "id": 165,
            "name": "Software Engineering"
        },
        {
            "id": 227,
            "name": "Databases"
        },
        {
            "id": 1405,
            "name": "Scalability"
        }
    ],
    "interests": [{
            "id": 55,
            "name": "Technology"
        },
        {
            "id": 65,
            "name": "Photography"
        },
        {
            "id": 123,
            "name": "Software Design"
        }
    ]
}

This endpoint retrieves all informations member profile.

HTTP Request

GET https://api.talentgarden.net/user/v1/members/:auth0_id/profile

URL Parameters

Parameter Required Description
auth0_id true the Auth0 identifier in the form "auth0|identifier". This value is contained in the key sub of the JWT

Validation

The Validation API allow a data validation process that ensures the delivery of clean and clear data to the programs, applications and services using it. It checks for the integrity and validity of data in order to avoid human input mistakes.

IBAN

This API endpoint allows you to automate IBAN validation and perform the following:

*Bank Code and Account Number validations are performed for certain banks and countries only.

As you can see from the response in the dark area, the validation object is a structured object with different levels of validation. To simply the validation you can consider the root parameter valid that is true only if all the validation has been passed correctly, otherwise false.

curl "https://api.talentgarden.net/validation/v1/iban?iban=IT60X0542811101000000123456" \
  --header "x-api-key: YOUR_API_KEY"

The above command returns JSON structured like this:

{
    "valid": true,
    "bank_data": {
        "bic": "BEPOIT21",
        "branch": "SEDE DI BERGAMO",
        "bank": "B.POPDI BERGAMO-CRED.VARESINO FUS UNIONE DI BANCHE ITALIANE",
        "address": "PIAZZA VITTORIO VENETO, 8",
        "city": "BERGAMO",
        "state": "BG",
        "zip": "24122",
        "phone": null,
        "fax": null,
        "www": null,
        "email": null,
        "country": "Italy",
        "country_iso": "IT",
        "account": "000000123456",
        "bank_code": "05428",
        "branch_code": "11101"
    },
    "errors": [],
    "validations": {
        "chars": {
            "code": "006",
            "message": "IBAN does not contain illegal characters"
        },
        "account": {
            "code": "002",
            "message": "Account Number check digit is correct"
        },
        "iban": {
            "code": "001",
            "message": "IBAN Check digit is correct"
        },
        "structure": {
            "code": "005",
            "message": "IBAN structure is correct"
        },
        "length": {
            "code": "003",
            "message": "IBAN Length is correct"
        },
        "country_support": {
            "code": "007",
            "message": "Country supports IBAN standard"
        }
    },
    "sepa_data": {
        "SCT": "YES",
        "SDD": "YES",
        "COR1": "YES",
        "B2B": "YES",
        "SCC": "NO"
    }
}

This endpoint performs IBAN validation.

HTTP Request

GET https://api.talentgarden.net/validation/v1/iban?iban=:iban

Query Parameters

Parameter Required Description
iban true the IBAN you want to validate

Codes

The validation object is composed from multiple objects and each one with its own code, this is codes map:

Code Meaning Description
001 Validation Success IBAN Check digit is correct
002 Validation Success Account Number check digit is correct
003 Validation Success IBAN Length is correct
004 Validation Success Account Number check digit is not performed for this bank or branch
005 Validation Success IBAN structure is correct
006 Validation Success IBAN does not contain illegal characters
007 Validation Success Country supports IBAN standard
201 Validation Failed Account Number check digit not correct
202 Validation Failed IBAN Check digit not correct
203 Validation Failed IBAN Length is not correct
205 Validation Failed IBAN structure is not correct
206 Validation Failed IBAN contains illegal characters
207 Validation Failed Country does not support IBAN standard

VAT

This API endpoint enabling you to validate VAT numbers and get company informations (if available).

The API's response will consist of a number of different properties containing information about your query, the respective company results and whether or not the validation was successful.

Since the address fields can have different structures or are missing at all (Germany & Spain), we decided to give back a normalized address object with all address fields separated.
The address object is obtained from the company_address so if it is empty the address object will be empty as well.

curl "https://api.talentgarden.net/validation/v1/vat?vat=IT03340710981" \
  --header "x-api-key: YOUR_API_KEY"

The above command returns JSON structured like this:

{
    "valid": true,
    "database": "ok",
    "format_valid": true,
    "query": "IT03340710981",
    "country_code": "IT",
    "vat_number": "03340710981",
    "company_name": "TALENT GARDEN S.P.A",
    "company_address": "VIA MERANO 16 \n20127 MILANO MI\n",
    "address": {
        "street_number": "16",
        "route": "Via Merano",
        "locality": "Milano",
        "city": "MI",
        "country": "IT",
        "postal_code": "20127"
    }
}

This endpoint performs VAT number validation.

HTTP Request

GET https://api.talentgarden.net/validation/v1/vat?vat=:vat

Query Parameters

Parameter Required Description
vat true the VAT number with the 2-letter country code prefix

Errors

The Talent Garden API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- The kitten requested is hidden for administrators only.
404 Not Found -- The specified kitten could not be found.
405 Method Not Allowed -- You tried to access a kitten with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.