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:
- API Key
- 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 |
---|---|---|
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 |
---|---|---|
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 |
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 |
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:
- validate if an IBAN is valid using it’s check digits
- validate if an IBAN has valid domestic bank code and account number check digits *
- validate IBAN length for specific country
- validate IBAN structure/formatting for specific country
- validate IBAN characters ( check for non-alphanumeric characters )
- validate if country code supports IBAN standard
- identify the bank which issued the IBAN
- identify the country and country code of an IBAN
- identify address of the bank issued the IBAN
- identify bank’s BIC code
- identify bank’s SEPA support: B2B,COR1,SCC,SCT,SDD
*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. |