# Get Merchant Invoice Details Return an aggregated breakdown of the money movements included in the invoice along with billing details. Endpoint: GET /transactions/invoices/{invoiceId} Version: 3.0 Security: Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT ## Path parameters: - `invoiceId` (string, required) ## Response 200 fields (application/json): - `summary` (object, required) Basic summary of the invoice, as you would get when querying invoices. - `summary.invoiceId` (string, required) System unique identifier for the invoice. - `summary.invoiceReference` (string, required) Unique reference for this invoice that can be included on manually generated payments. - `summary.currency` (string, required) The currency of the invoice as a 3 letter ISO code. - `summary.invoiceStartDate` (string, required) The start of the date range included in the invoice. - `summary.invoiceEndDate` (string, required) The end of the date range included in the invoice. - `summary.invoiceAmount` (integer, required) The invoice amount in minor currency units - `summary.paidAmount` (integer, required) The amount credited towards the invoice in minor currency units - `summary.issuedOn` (string) The date the invoice was issued to the merchant. - `summary.dueDate` (string, required) The date the invoice is due for payment. - `summary.merchantId` (string, required) System unique identifier for the merchant issued the invoice. - `summary.merchantBusinessName` (string, required) Business name for the merchant issued the invoice. - `summary.status` (string, required) Status of the invoice. Enum: "draft", "outstanding", "overdue", "accepted", "paid", "cancelled" - `summary.summary` (string, required) Summary of the contents of the invoice. - `summary.createdAt` (string, required) When the invoice was created. - `billingDetails` (object, required) - `billingDetails.businessName` (string, required) - `billingDetails.taxId` (string, required) - `billingDetails.billingEmailAddress` (string, required) - `billingDetails.billingPhoneNumber` (string, required) - `billingDetails.billingAddress` (object, required) - `billingDetails.billingAddress.line1` (string, required) - `billingDetails.billingAddress.line2` (string) - `billingDetails.billingAddress.city` (string) - `billingDetails.billingAddress.state` (string) - `billingDetails.billingAddress.postalCode` (string, required) - `billingDetails.billingAddress.country` (string, required) - `paymentMethod` (any) - `summaryItems` (array) - `summaryItems.itemType` (string, required) Enum: "dispute_fee", "dispute_fee_reversal", "manual_top_up", "manual_top_up_reversal", "overdue_invoice_fee", "pay_in_full_fee", "payment_fee_reversal", "pay_plan_fee", "transaction_transfer_fee_reversal", "other" - `summaryItems.category` (any) - `summaryItems.categoryLabel` (string) - `summaryItems.unitPrice` (string) - `summaryItems.count` (integer, required) - `summaryItems.totalTransactionValue` (integer) - `summaryItems.taxTotal` (integer, required) - `summaryItems.feeTotal` (integer, required) - `timelines` (array) - `timelines.eventType` (string, required) Enum: "InvoiceIssued", "PaymentOutstanding", "PaymentAccepted", "PaymentOverdue", "PaymentFailed", "PaymentSucceeded", "PaymentDisputed", "PaymentCancelled" - `timelines.eventTime` (string, required) - `timelines.amount` (integer) - `timelines.identifier` (string) - `manualPaymentDetails` (object) - `manualPaymentDetails.token` (string, required) A token, valid for 28 days, that authorises the holder to pay for this invoice. - `manualPaymentDetails.magicLink` (string, required) URL to load a UI to manually pay for the given merchant invoice. - `manualPaymentDetails.orderId` (string, required) System unique identifier for the merchant order representing the payment of this invoice. ## Response 400 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 401 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 403 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 404 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 405 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 406 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 409 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 422 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 429 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 500 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 503 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata