> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.propexo.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.propexo.com/_mcp/server.

# Create Resident Charge: Entrata

POST https://api.propexo.com/v1/resident-charges/entrata/
Content-Type: application/json

Create Resident Charge: Entrata| Method                                 |
| -------------------------------------- |
| artransactions/sendLeaseArTransactions |Due to PMS limitations, the ID of the created record cannot be retrieved. This will be found on the next data sync.

Reference: https://docs.propexo.com/api-reference/entrata/billing-and-payments/create-resident-charge-entrata

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Servers

- `https://api.propexo.com` (Production, default)
- `https://api.sandbox.propexo.com` (Sandbox)

## Request

### Body (application/json)

This endpoint expects a _v1_resident-charges_entrata__post_input.

- `integration_id` (string, required) — The Propexo unique identifier for the integration
- `lease_id` (string, required) — The Propexo unique identifier for the lease
- `charge_code_id` (string, required) — The Propexo unique identifier for the charge code
- `transaction_date` (V1ResidentChargesEntrataPostInputTransactionDate, required) — The transaction date of the resident charge. The timestamp will be stripped off and only the date will be used
- `amount_in_cents` (integer, required) — The amount of the resident charge, in cents. A positive charge represents an increase of money owed. A negative charge represents a reduction of money owed
- `description` (string, required) — Description of the resident charge
- `post_month` (V1ResidentChargesEntrataPostInputPostMonth, optional) — The post month for the resident charge. The timestamp and day will be stripped off and only the month and year will be used
- `third_party_charge_id` (string, optional) — A unique value provided to Entrata to uniquely identify the transaction from your system. This can be an alphanumeric string. This does not become the ID of the transaction in Entrata. If not provided, Propexo will generate one
- `is_approval_required` (boolean, optional) — Whether or not the resident charge requires approval. This will require the charge be approved first before being posted to the ledger

## Response

### 200

Successful response

- `meta` (V1ResidentChargesEntrataPostOutputMeta, required)
- `result` (V1ResidentChargesEntrataPostOutputResult, required)

## Errors

### 400 Bad Request Error

Bad Request

- `error` (ErrorResponseError, required)

## Types

### V1ResidentChargesEntrataPostInputTransactionDate

The transaction date of the resident charge. The timestamp will be stripped off and only the date will be used

### V1ResidentChargesEntrataPostInputPostMonth

The post month for the resident charge. The timestamp and day will be stripped off and only the month and year will be used

### V1ResidentChargesEntrataPostOutputMeta

- `job_id` (string, required)

### V1ResidentChargesEntrataPostOutputResult

- `integration_id` (string, required) — The Propexo unique identifier for the integration
- `lease_id` (string, required) — The Propexo unique identifier for the lease
- `charge_code_id` (string, required) — The Propexo unique identifier for the charge code
- `transaction_date` (V1ResidentChargesEntrataPostOutputResultTransactionDate, required, nullable)
- `post_month` (V1ResidentChargesEntrataPostOutputResultPostMonth, required, nullable) — The post month for the resident charge. The timestamp and day will be stripped off and only the month and year will be used
- `amount_in_cents` (integer, required) — The amount of the resident charge, in cents. A positive charge represents an increase of money owed. A negative charge represents a reduction of money owed
- `description` (string, required) — Description of the resident charge
- `third_party_charge_id` (string, required, nullable) — A unique value provided to Entrata to uniquely identify the transaction from your system. This can be an alphanumeric string. This does not become the ID of the transaction in Entrata. If not provided, Propexo will generate one
- `is_approval_required` (boolean, required, nullable) — Whether or not the resident charge requires approval. This will require the charge be approved first before being posted to the ledger

### ErrorResponseError

- `code` (string, required)
- `message` (string, required)
- `details` (map from string to any, optional)

### V1ResidentChargesEntrataPostOutputResultTransactionDate

### V1ResidentChargesEntrataPostOutputResultPostMonth

The post month for the resident charge. The timestamp and day will be stripped off and only the month and year will be used

## Examples

**Request**

```json
{
  "integration_id": "intg_9f8b7c6d5e4a3b2c1d0e",
  "lease_id": "lease_1234567890abcdef",
  "charge_code_id": "charge_9876543210fedcba",
  "transaction_date": "2024-01-15T09:30:00Z",
  "amount_in_cents": 12500,
  "description": "January Rent Charge"
}
```

**Response**

```json
{
  "meta": {
    "job_id": "job_20240115_093000_abc123"
  },
  "result": {
    "integration_id": "intg_9f8b7c6d5e4a3b2c1d0e",
    "lease_id": "lease_1234567890abcdef",
    "charge_code_id": "charge_9876543210fedcba",
    "transaction_date": "2024-01-15T09:30:00Z",
    "post_month": "2024-01-01",
    "amount_in_cents": 12500,
    "description": "January Rent Charge",
    "third_party_charge_id": "tpcharge_001a2b3c4d5e",
    "is_approval_required": false
  }
}
```

**SDK Code**

```python
import requests

url = "https://api.propexo.com/v1/resident-charges/entrata/"

payload = {
    "integration_id": "intg_9f8b7c6d5e4a3b2c1d0e",
    "lease_id": "lease_1234567890abcdef",
    "charge_code_id": "charge_9876543210fedcba",
    "transaction_date": "2024-01-15T09:30:00Z",
    "amount_in_cents": 12500,
    "description": "January Rent Charge"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.propexo.com/v1/resident-charges/entrata/';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"integration_id":"intg_9f8b7c6d5e4a3b2c1d0e","lease_id":"lease_1234567890abcdef","charge_code_id":"charge_9876543210fedcba","transaction_date":"2024-01-15T09:30:00Z","amount_in_cents":12500,"description":"January Rent Charge"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.propexo.com/v1/resident-charges/entrata/"

	payload := strings.NewReader("{\n  \"integration_id\": \"intg_9f8b7c6d5e4a3b2c1d0e\",\n  \"lease_id\": \"lease_1234567890abcdef\",\n  \"charge_code_id\": \"charge_9876543210fedcba\",\n  \"transaction_date\": \"2024-01-15T09:30:00Z\",\n  \"amount_in_cents\": 12500,\n  \"description\": \"January Rent Charge\"\n}")

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

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

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

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

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.propexo.com/v1/resident-charges/entrata/")

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

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"integration_id\": \"intg_9f8b7c6d5e4a3b2c1d0e\",\n  \"lease_id\": \"lease_1234567890abcdef\",\n  \"charge_code_id\": \"charge_9876543210fedcba\",\n  \"transaction_date\": \"2024-01-15T09:30:00Z\",\n  \"amount_in_cents\": 12500,\n  \"description\": \"January Rent Charge\"\n}"

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

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.propexo.com/v1/resident-charges/entrata/")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"integration_id\": \"intg_9f8b7c6d5e4a3b2c1d0e\",\n  \"lease_id\": \"lease_1234567890abcdef\",\n  \"charge_code_id\": \"charge_9876543210fedcba\",\n  \"transaction_date\": \"2024-01-15T09:30:00Z\",\n  \"amount_in_cents\": 12500,\n  \"description\": \"January Rent Charge\"\n}")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.propexo.com/v1/resident-charges/entrata/', [
  'body' => '{
  "integration_id": "intg_9f8b7c6d5e4a3b2c1d0e",
  "lease_id": "lease_1234567890abcdef",
  "charge_code_id": "charge_9876543210fedcba",
  "transaction_date": "2024-01-15T09:30:00Z",
  "amount_in_cents": 12500,
  "description": "January Rent Charge"
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.propexo.com/v1/resident-charges/entrata/");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"integration_id\": \"intg_9f8b7c6d5e4a3b2c1d0e\",\n  \"lease_id\": \"lease_1234567890abcdef\",\n  \"charge_code_id\": \"charge_9876543210fedcba\",\n  \"transaction_date\": \"2024-01-15T09:30:00Z\",\n  \"amount_in_cents\": 12500,\n  \"description\": \"January Rent Charge\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "integration_id": "intg_9f8b7c6d5e4a3b2c1d0e",
  "lease_id": "lease_1234567890abcdef",
  "charge_code_id": "charge_9876543210fedcba",
  "transaction_date": "2024-01-15T09:30:00Z",
  "amount_in_cents": 12500,
  "description": "January Rent Charge"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.propexo.com/v1/resident-charges/entrata/")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```