Create receipts

Create receipts for transfers and scheduled transfers.

To access this endpoint using an access token you'll need to specify the /accounts/{accountID}/transfers.write scope.

POST
/receipts
cURL Go TypeScript PHP Python Java Ruby
curl -X POST "https://api.moov.io/receipts" \
  -H "Authorization: Bearer {token}" \
  --data '{
    "kind": "sale.customer.v1"
  }'\
mc, _ := moov.NewClient()

mc.CreateReceipt(ctx, moov.CreateReceipt{
  Kind: "sale.customer.v1",
})
import { SDK } from "openapi";

const sdk = new SDK({
  xMoovVersion: "v2024.01.00",
});

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

  console.log(result);
}

run();
declare(strict_types=1);

require 'vendor/autoload.php';

use OpenAPI\OpenAPI;

$sdk = OpenAPI\SDK::builder()
    ->setXMoovVersion('v2024.01.00')
    ->build();



$response = $sdk->receipts->create(
    requestBody: []
);

if ($response->receiptResponses !== null) {
    // handle response
}
from openapi import SDK


with SDK(
    x_moov_version="v2024.01.00",
) as sdk:

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

    # Handle response
    print(res)
package hello.world;

import java.lang.Exception;
import java.util.List;
import org.openapis.openapi.SDK;
import org.openapis.openapi.models.components.ReceiptRequest;
import org.openapis.openapi.models.errors.GenericError;
import org.openapis.openapi.models.operations.CreateReceiptsResponse;

public class Application {

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

        SDK sdk = SDK.builder()
                .xMoovVersion("v2024.01.00")
            .build();

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

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

        if (res.receiptResponses().isPresent()) {
            // handle response
        }
    }
}
require 'openapi'

Models = ::OpenApiSDK::Models
s = ::OpenApiSDK::SDK.new(
      x_moov_version: 'v2024.01.00',
    )

res = s.receipts.create(request_body: [])

unless res.receipt_responses.nil?
  # handle response
end
201 400 401 403 404 409 422 429 500 504
The resource was successfully created.
application/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"
      }
    ]
  }
]

x-request-id

string required
A unique identifier used to trace requests.
The server could not understand the request due to invalid syntax.
application/json
{
  "error": "string"
}

x-request-id

string required
A unique identifier used to trace requests.
The request contained missing or expired authentication.

x-request-id

string required
A unique identifier used to trace requests.
The user is not authorized to make the request.

x-request-id

string required
A unique identifier used to trace requests.
The requested resource was not found.

x-request-id

string required
A unique identifier used to trace requests.
The request conflicted with the current state of the target resource.
application/json
{
  "error": "string"
}

x-request-id

string required
A unique identifier used to trace requests.
The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.
application/json
{
  "0": {
    "kind": "cannot be blank"
  }
}

x-request-id

string required
A unique identifier used to trace requests.
Request was refused due to rate limiting.

x-request-id

string required
A unique identifier used to trace requests.
The request failed due to an unexpected error.

x-request-id

string required
A unique identifier used to trace requests.
The request failed because a downstream service failed to respond.

x-request-id

string required
A unique identifier used to trace requests.

Headers

X-Moov-Version

string

Specify an API version.

API versioning follows the format vYYYY.QQ.BB, where

  • YYYY is the year
  • QQ is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
  • BB is the build number, starting at .01, for subsequent builds in the same quarter.
    • For example, v2024.01.00 is the initial release of the first quarter of 2024.

The dev version represents the most recent development state. It may include breaking changes and should be treated as a beta release. When no version is specified, the API defaults to v2024.01.00.

Body array

application/json

kind

string required
The type of receipt being requested.
Possible values: sale.customer.v1

email

string
The email address to send the receipt to. Either email or emailAccountID must be provided, but not both.

emailAccountID

string
The accountID to send the receipt to. Either email or emailAccountID must be provided, but not both.

forOccurrenceID

string
The ID of the schedule occurrence associated with this receipt. Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.

forScheduleID

string
The ID of the schedule associated with this receipt. Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.

forTransferID

string
The ID of the transfer associated with this receipt. Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.

Response

application/json

createdBy

string
AccountID for which the receipt request was created.

disabledOn

string<date-time>
The date and time the receipt was disabled.

email

string
The email address the receipt is sent to. Either email or emailAccountID will be in the response, but not both.

emailAccountID

string
The accountID the receipt is sent to. Either email or emailAccountID will be in the response, but not both.

forOccurrenceID

string
The ID of the schedule occurrence associated with this receipt. Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.

forScheduleID

string
The ID of the schedule associated with this receipt. Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.

forTransferID

string
The ID of the transfer associated with this receipt. Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.

kind

string
The type of receipt.
The type of receipt being requested.
Possible values: sale.customer.v1

receiptID

string
Unique identifier for the receipt request.

sentFor

array<object>
The list of receipts that have been sent.
Show child attributes

idempotencyKey

string
The idempotency key used when creating the receipt.

receiptID

string
Unique identifier for the receipt.

sentOn

string<date-time>
When the receipt was sent.