---
title: "Create a candidate"
url: "https://docs.unified.to/ats/candidate/Create_a_candidate"
description: "API reference for Create a candidate. Launch multiple pre-built Candidate integrations today with zero maintenance — all through a single API."
generated_at: "2026-05-29T17:51:32.938Z"
---
# Create a candidate

 POST/ats/{connection\_id}/candidate

## Parameters

**fields**string array 

id

created\_at

updated\_at

name

first\_name

last\_name

emails

title

telephones

company\_name

image\_url

tags

address

external\_identifier

link\_urls

origin

company\_id

sources

date\_of\_birth

user\_id

web\_url

experiences

education

skills

job\_ids

metadata

raw

Fields to return

**raw**string 

Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar

**connection\_id**string  required 

ID of the connection

## Payload

**id**string 

**created\_at**date 

(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)

**updated\_at**date 

(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)

**name**string 

**first\_name**string 

**last\_name**string 

**emails** array 

**title**string 

Candidate’s current job title

**telephones** array 

**company\_name**string 

Name of company where candidate currently works

**image\_url**string 

**tags**string array 

**address**object 

**external\_identifier**string 

**link\_urls**string array 

URLs for web pages containing additional material about the candidate (LinkedIn, other social media, articles, etc.)

**origin** enum

Valid values:

 "AGENCY" 

 "APPLIED" 

 "INTERNAL" 

 "REFERRED" 

 "SOURCED" 

**company\_id**string 

(reference to AtsCompany)

**sources**string array 

**date\_of\_birth**date 

**user\_id**string 

Employee ID that owns the relationship for this candidate (reference to HrisEmployee)

**web\_url**string 

**experiences** array 

**education** array 

**skills**string array 

**job\_ids**string array 

**metadata** array 

**raw**any 

## Returns

[AtsCandidate](/ats/candidate/model)

**id**string 

**created\_at**date 

(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)

**updated\_at**date 

(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)

**name**string 

**first\_name**string 

**last\_name**string 

**emails** array 

**title**string 

Candidate’s current job title

**telephones** array 

**company\_name**string 

Name of company where candidate currently works

**image\_url**string 

**tags**string array 

**address**object 

**external\_identifier**string 

**link\_urls**string array 

URLs for web pages containing additional material about the candidate (LinkedIn, other social media, articles, etc.)

**origin** enum

Valid values:

 "AGENCY" 

 "APPLIED" 

 "INTERNAL" 

 "REFERRED" 

 "SOURCED" 

**company\_id**string 

(reference to AtsCompany)

**sources**string array 

**date\_of\_birth**date 

**user\_id**string 

Employee ID that owns the relationship for this candidate (reference to HrisEmployee)

**web\_url**string 

**experiences** array 

**education** array 

**skills**string array 

**job\_ids**string array 

**metadata** array 

**raw**any 

## Code Samples

### Node.js SDK

```
import { UnifiedTo } from '@unified-api/typescript-sdk';

const sdk = new UnifiedTo({
    security: {
        jwt: '<YOUR_API_KEY_HERE>',
    },
});

const connectionId = '5de520f96e439b002043d8dc';

const results = await sdk.ats.createAtsCandidate({ connectionId, atsCandidate: { }, 
    fields: '',
    raw: '',
 });
```

### Node.js (axios)

```
const options = {
  method: 'POST',
  url: 'https://api.unified.to/ats/5de520f96e439b002043d8dc/candidate',
  headers: {
    authorization: 'bearer .....'
  },
  data: undefined,
  params: {
    fields: '',
    raw: '',
  }
};

const results = await axios.request(options);
```

### Java

```
AsyncHttpClient client = new DefaultAsyncHttpClient();

client.prepare("POST", "https://api.unified.to/ats/5de520f96e439b002043d8dc/candidate?fields=&raw=")
  .setHeader("accept", "application/json")
  .setHeader("authorization", ".....")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
```

### Go

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

url := `https://api.unified.to/ats/5de520f96e439b002043d8dc/candidate?fields=&raw=

req, _ := http.NewRequest("POST", url, nil)

req.Header.Add("accept", "application/json")
req.Header.Add("authorization", ".....")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
```

### Python

```
import requests

url = "https://api.unified.to/ats/5de520f96e439b002043d8dc/candidate?fields=&raw="

headers = {
    "accept": "application/json",
    "authorization": "....."
}

response = requests.post(url, headers=headers)
```

### PHP

```
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.unified.to/ats/5de520f96e439b002043d8dc/candidate?fields=&raw=",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => [
    "accept: application/json",
    "authorization: ....."
  ],
]);
```

### Ruby

```
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.unified.to/ats/5de520f96e439b002043d8dc/candidate?fields=&raw=")

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

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["authorization"] = '....'

response = http.request(request)
puts response.read_body
```

### cURL

```
curl --request POST \
  --url 'https://api.unified.to/ats/5de520f96e439b002043d8dc/candidate?fields=&raw=' \
  --header 'accept: application/json' \
  --header 'authorization: .....'
```
