# Entry routes: post, settle

URL: /code/api/entry/verbs · Id: `page:code/api/entry/verbs`

> The Entry Verbs post, settle as api.sb routes, with inputs, result, refusals and an example.

Reference for [Entry](/business/nouns/entry), one group of [Entry routes](/code/api/entry).

### Entry.post
Post records a manual Entry pair that no Verb caused, once a second Role approves it. [Verb page](/business/nouns/entry/post?interface=api).

```text
POST /{namespace}/entries/post
```

Body, as JSON: the inputs. Emits [`Entry.posted`](/business/events/Entry.posted).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `debit` | `string` | Yes | The account code debited, such as `expense.hosting`. |
| `credit` | `string` | Yes | The account code credited. |
| `amount` | `money` | Yes | The amount and currency. |
| `memo` | `text` | Yes | Why the Entry exists. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `entry` | [Entry](/business/nouns/entry) | Yes | The debit Entry; its credit pair links to it. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |

**Example**

```bash
curl -X POST https://api.sb/leaseline.app/entries/post \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"debit":"Example debit","credit":"Example credit","amount":{"amount":29,"currency":"USD"},"memo":"Example memo"}'
```

```json
{
  "api": "https://api.sb/leaseline.app",
  "entry": {
    "$id": "https://api.sb/leaseline.app/entries/entry_syZbJCW683",
    "$type": "Entry",
    "account": "cash",
    "amount": {
      "amount": 29,
      "currency": "USD"
    },
    "direction": "debit",
    "startup": "startup_l3hr1EnUGY"
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Entry.post",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}
```

### Entry.settle
Settle nets a Period’s intercompany Entries between two Companies into one transfer through Stripe and reconciles both sides. [Verb page](/business/nouns/entry/settle?interface=api).

```text
POST /{namespace}/entries/settle
```

Body, as JSON: the inputs. Emits [`Entry.settled`](/business/events/Entry.settled).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `period` | [Period](/business/nouns/period) | Yes | The closed Period whose intercompany pairs settle. |
| `from` | [Company](/business/nouns/company) | Yes | The Company that owes the net amount. |
| `to` | [Company](/business/nouns/company) | Yes | The Company that receives it. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `transaction` | [Transaction](/business/nouns/transaction) | Yes | The one transfer that settles every pair. |
| `entry` | [Entry](/business/nouns/entry) | Yes | The intercompany Entry, now settled. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |

**Example**

```bash
curl -X POST https://api.sb/leaseline.app/entries/settle \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"period":"period_VEVuYACTsH","from":"company_28zYNZEno0","to":"company_28zYNZEno0"}'
```

```json
{
  "api": "https://api.sb/leaseline.app",
  "transaction": {
    "$id": "https://api.sb/leaseline.app/transactions/txn_XoxtZe3CQI",
    "$type": "Transaction",
    "kind": "charge",
    "amount": {
      "amount": 29,
      "currency": "USD"
    }
  },
  "entry": {
    "$id": "https://api.sb/leaseline.app/entries/entry_syZbJCW683",
    "$type": "Entry",
    "account": "cash",
    "amount": {
      "amount": 29,
      "currency": "USD"
    },
    "direction": "debit",
    "startup": "startup_l3hr1EnUGY"
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Entry.settle",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}
```