# Create receipts

Create receipts for transfers and scheduled transfers.

To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need to specify the `/accounts/{accountID}/transfers.write` scope.

POST

/receipts

---

Ask

```shell
curl -X POST "https://api.moov.io/receipts" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00" \
  -d '[\
  {\
    "kind": "sale.customer.v1"\
  }\
]'
```

Ask

```go
mc, _ := moov.NewClient()

var transfer struct {
  TransferID string
}

mc.CreateReceipt(ctx, moov.CreateReceipt{
  Kind:          "sale.customer.v1",
  ForTransferID: &transfer.TransferID,
  Email:         moov.PtrOf("customer@classbooker.com"),
})
```

Ask

```typescript
import { Moov } from "@moovio/sdk";

const moov = new Moov({
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.receipts.create([]);

console.log(result);
}

run();
```

Ask

```php
declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\MoovPhp;
use Moov\MoovPhp\Models\Components;

$sdk = MoovPhp\Moov::builder()
    ->setSecurity(
        new Components\Security(
            username: '',
            password: '',
        )
    )
    ->build();

$request = [];

$response = $sdk->receipts->create(
    request: $request
);

if ($response->receiptResponses !== null) {
    // handle response
}
```

Ask

```java
package hello.world;

import io.moov.sdk.Moov;
import io.moov.sdk.models.components.ReceiptRequest;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.errors.GenericError;
import io.moov.sdk.models.operations.CreateReceiptsResponse;
import java.lang.Exception;
import java.util.List;

public class Application {

public static void main(String[] args) throws GenericError, Exception {

Moov sdk = Moov.builder()
                .security(Security.builder()
                    .username("")
                    .password("")
                    .build())
            .build();

List<ReceiptRequest> req = List.of();

CreateReceiptsResponse res = sdk.receipts().create()
                .request(req)
                .call();

if (res.receiptResponses().isPresent()) {
            System.out.println(res.receiptResponses().get());
        }
    }
}
```

Ask

```python
from moovio_sdk import Moov
from moovio_sdk.models import components

with Moov(
    security=components.Security(
        username="",
        password="",
    ),
) as moov:

res = moov.receipts.create(request=[])

# Handle response
    print(res)
```

Ask

```ruby
require 'moov_ruby'

Models = ::Moov::Models
s = ::Moov::Client.new(
  security: Models::Components::Security.new(
    username: '',
    password: ''
  )
)

req = []
res = s.receipts.create(request: req)

unless res.receipt_responses.nil?
  # handle response
end
```

Ask

```csharp
using Moov.Sdk;
using Moov.Sdk.Models.Components;
using System.Collections.Generic;

var sdk = new MoovClient(security: new Security() {
    Username = "",
    Password = "",
});

List<ReceiptRequest> req = new List<ReceiptRequest>() {};

var res = await sdk.Receipts.CreateAsync(req);

// handle response
```

The resource was successfully created.

Ask

Example

```json
[\
  {\
    "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",\
    "receiptID": "4925c8a5-3b9a-4488-a514-9fd992546aca",\
    "forTransferID": "193ceb53-94c7-41c4-9272-c90c2832cb4c",\
    "kind": "sale.customer.v1",\
    "email": "jordan.lee@classbooker.dev",\
    "sentFor": [\
      {\
        "idempotencyKey": "0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1",\
        "receiptID": "4925c8a5-3b9a-4488-a514-9fd992546aca",\
        "sentOn": "2025-01-16T17:52:14.219311143Z"\
      }\
    ]\
  }\
]
```

### Response headers

A unique identifier used to trace requests.[...]
