Skip to content
GET/{organizationId}/{mandateId}/finance/receipts/{receiptId}

Get receipt

Returns a specific receipt with all of its details for a given mandate

Required permissions:

  • mandate.read

  • receipt.read

Path Parameters

organizationIdstringrequired
mandateIdstringrequired
receiptIdstringrequired

Query Parameters

includeSummarybooleanoptional

Authentication: X-API-Key

Request

GET/{organizationId}/{mandateId}/finance/receipts/{receiptId}
curl --request GET 'https://cloud.campai.com/api/{organizationId}/{mandateId}/finance/receipts/{receiptId}' \
  --header 'X-API-Key: YOUR_API_KEY'

Responses

This endpoint returns different response codes based on the request outcome.

200Successful response

Content-Type: application/json

ObjectId as string

ObjectId as string

typestringrequired

Options:

expenserevenueinvoicedepositdonationofferconfirmation
accountintegerrequired

minimum: 1

maximum: 999999999

accountNamestringrequired
accountNameSortstringrequired
receiptNumberstringrequired

maxLength: 30

receiptNumberSortnumber | nullrequired
receiptDatestringrequired
receiptFilestringrequired
receiptFileNamestringrequired

Additional properties are not allowed.

isNetbooleanoptional

minItems: 1

tagsstring arrayrequired
paidAtstring | nulloptional
paymentStatusstringoptional

Options:

unpaidpartialpaid
paymentDifferencestring | nulloptional

Options:

up:unpaidup:discountReductionup:feeNoTaxup:feeTaxop:feeNoTaxop:feeTaxop:interestFee

ObjectId as string

Additional properties are not allowed.

minItems: 1

maxItems: 10

draftbooleanoptional
completingbooleanoptional
refundbooleanoptional

ObjectId as string

refundReceiptNumberstringoptional

maxLength: 30

Additional properties are not allowed.

sendMethodstringoptional

Options:

noneemailpostal
dueDatestringoptional
deliveryDateTypestring | nulloptional

Options:

deliverydeliveryPeriodserviceservicePeriod
deliveryDateStartstring | nulloptional
deliveryDateEndstring | nulloptional
descriptionstringoptional

maxLength: 140

titlestringoptional

minLength: 1

maxLength: 30

introstringoptional

maxLength: 2000

notestringoptional

maxLength: 2000

deliveryTermsstringoptional

maxLength: 255

paymentTermsstringoptional

maxLength: 2000

discountintegeroptional

minimum: 0

maximum: 9999999999

discountTypestringoptional

Options:

%amount

Additional properties are not allowed.

invoiceTypestringoptional

Options:

invoiceinvoiceMembershipFeeinvoiceBooking
offerStatusstringoptional

Options:

openacceptedrejected

ObjectId as string

offerReceiptNumberstringoptional

maxLength: 30

ObjectId as string

confirmationReceiptNumberstringoptional

maxLength: 30

confirmationStatusstringoptional

Options:

openfinished
doNotSendReceiptbooleanoptional
donationTypestringoptional

Options:

cashmembershipFeeassetStockrefund
donationNumberstringoptional
totalUsedDepositGrossAmountintegeroptional

minimum: 0

maximum: 9999999999

canceledAtdate-time | nulloptional
canceledReasonstringoptional

maxLength: 240

cancelReceiptNumberstringoptional

maxLength: 30

archivedAtdate-time | nullrequired
createdAtdate-time | nulloptional
updatedAtdate-time | nulloptional
customerTypestringoptional

Options:

debtorcustomermemberbooking
totalFeesAmountintegeroptional

minimum: 0

maximum: 9999999999

totalAmountLeftToPayintegeroptional

minimum: 0

maximum: 9999999999

electronicbooleanoptional
supplierNumberstringoptional

maxLength: 32

debtorBlockedAtdate-time | nulloptional

ObjectId as string

totalGrossAmountintegerrequired

minimum: 0

maximum: 9999999999

Additional properties are not allowed.

Response

200
{
  "_id": "000000000000000000000001",
  "mandate": "000000000000000000000001",
  "type": "expense",
  "account": 1,
  "accountName": "string",
  "accountNameSort": "string",
  "receiptNumber": "string",
  "receiptNumberSort": 1,
  "receiptDate": "string",
  "receiptFile": "string",
  "receiptFileName": "string",
  "positions": [
    {
      "costCenter1": 1,
      "costCenter2": 1,
      "amount": 0
    }
  ],
  "notes": [
    {
      "id": "string",
      "content": "string",
      "writtenAt": "2026-06-15T22:30:00Z",
      "writtenBy": {
        "name": "string",
        "type": "user",
        "userId": "string",
        "image": {
          "resource": "string"
        }
      }
    }
  ],
  "tags": "string",
  "archivedAt": "2026-06-15T22:30:00Z",
  "archivedBy": {
    "name": "string",
    "type": "user",
    "userId": "string",
    "image": {
      "resource": "string"
    }
  },
  "totalGrossAmount": 0
}

400Invalid input data

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

400
{
  "code": "BAD_REQUEST",
  "message": "Invalid input data",
  "issues": []
}

401Authorization not provided

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

401
{
  "code": "UNAUTHORIZED",
  "message": "Authorization not provided",
  "issues": []
}

403Insufficient access

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

403
{
  "code": "FORBIDDEN",
  "message": "Insufficient access",
  "issues": []
}

404Not found

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

404
{
  "code": "NOT_FOUND",
  "message": "Not found",
  "issues": []
}

500Internal server error

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

500
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}