---
title: "Update an application"
url: "https://docs.unified.to/ats/application/Update_an_application"
description: "API reference for Update an application. Launch multiple pre-built Application integrations today with zero maintenance — all through a single API."
generated_at: "2026-05-29T17:51:40.767Z"
---
# Update an application

 PUT/ats/{connection\_id}/application/{id}

## Parameters

**fields**string array 

id

candidate\_id

job\_id

created\_at

updated\_at

applied\_at

hired\_at

rejected\_at

rejected\_reason

source

status

original\_status

answers

offers

user\_id

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

**id**string  required 

ID of the Application

## Payload

**id**string 

**candidate\_id**string 

**job\_id**string 

**created\_at**date 

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

**updated\_at**date 

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

**applied\_at**date 

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

**hired\_at**date 

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

**rejected\_at**date 

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

**rejected\_reason**string 

**source**string 

**status** enum

Valid values:

 "NEW" 

 "REVIEWING" 

 "SCREENING" 

 "SUBMITTED" 

 "FIRST\_INTERVIEW" 

**original\_status**string 

The integration's original status. Mostly used to have your customers chose the application status/stage so that your software can trigger an event.

**answers** array 

**offers** array 

**user\_id**string 

HR user/employee ID (reference to HrisEmployee)

**metadata** array 

**raw**any 

## Returns

[AtsApplication](/ats/application/model)

**id**string 

**candidate\_id**string 

**job\_id**string 

**created\_at**date 

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

**updated\_at**date 

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

**applied\_at**date 

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

**hired\_at**date 

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

**rejected\_at**date 

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

**rejected\_reason**string 

**source**string 

**status** enum

Valid values:

 "NEW" 

 "REVIEWING" 

 "SCREENING" 

 "SUBMITTED" 

 "FIRST\_INTERVIEW" 

**original\_status**string 

The integration's original status. Mostly used to have your customers chose the application status/stage so that your software can trigger an event.

**answers** array 

**offers** array 

**user\_id**string 

HR user/employee ID (reference to HrisEmployee)

**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 id = '1234';

const results = await sdk.ats.updateAtsApplication({ connectionId, id, atsApplication: { }, 
    fields: '',
    raw: '',
 });
```

### Node.js (axios)

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

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

### Java

```
AsyncHttpClient client = new DefaultAsyncHttpClient();

client.prepare("PUT", "https://api.unified.to/ats/5de520f96e439b002043d8dc/application/5de520f96e439b002043d8d8?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/application/5de520f96e439b002043d8d8?fields=&raw=

req, _ := http.NewRequest("PUT", 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/application/5de520f96e439b002043d8d8?fields=&raw="

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

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

### PHP

```
$curl = curl_init();

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

### Ruby

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

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

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

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

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

### cURL

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