curl --request GET \
--url https://www.ruddr.io/api/workspace/invoices/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.ruddr.io/api/workspace/invoices/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.ruddr.io/api/workspace/invoices/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.ruddr.io/api/workspace/invoices/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.ruddr.io/api/workspace/invoices/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.ruddr.io/api/workspace/invoices/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.ruddr.io/api/workspace/invoices/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "56deca22-a707-4148-a5f7-ea3ae6391d67",
"companyName": "Ruddr Inc.",
"companyStreetAddress": "123 Main St, Suite 200",
"number": "INV-001",
"statusId": "paid",
"billTo": "Acme Corp",
"invoiceFor": "Website Redesign - January 2025",
"issuedOn": "2025-01-15",
"servicesThrough": "2025-01-31",
"dueOn": "2025-02-14",
"poNumber": "PO-84657",
"notes": "Payment due within 30 days.",
"emailSubject": "Invoice INV-001 from Ruddr Inc.",
"emails": [
"billing@acmecorp.com"
],
"ccEmails": [
"finance@acmecorp.com"
],
"emailBody": "Please find your invoice attached.",
"emailFromName": "Ruddr Billing",
"replyTo": "billing@ruddr.io",
"sendBcc": true,
"sentOn": "2025-01-15",
"currency": "USD",
"subtotal": 50000,
"totalDiscount": 2500,
"taxRate": 0.05,
"totalTax": 2375,
"total": 49875,
"amountPaid": 49875,
"amountCredited": 500,
"amountDue": 0,
"createdAt": "2025-01-15T20:47:03.284Z",
"modifiedAt": "2025-02-05T20:47:03.284Z",
"client": {
"id": "7c8f2e19-4d5a-4a3b-9c6d-2e8f1a0b3c4d",
"name": "Acme Corp"
},
"projects": [
{
"id": "b4cc2b99-3b3a-4b73-8f4e-8c1d7a94e5b0",
"name": "Website Redesign"
}
],
"lines": [
{
"id": "f1105e03-a6ab-4e9c-9e62-71d699067477",
"lineNumber": 1,
"item": "Design Services",
"description": "Homepage and landing page design",
"quantity": 40,
"rate": 150,
"amount": 6000,
"taxable": true,
"invoiceItem": {
"id": "d4e5f6a7-b8c9-0123-4567-89abcdef0123",
"name": "Design Services"
},
"project": {
"id": "b4cc2b99-3b3a-4b73-8f4e-8c1d7a94e5b0",
"name": "Website Redesign"
}
}
],
"payments": [
{
"id": "e5f6a7b8-c9d0-1234-5678-9abcdef01234",
"referenceNumber": "CHK-1234",
"amount": 49875
}
],
"creditNotes": [
{
"id": "f6a7b8c9-d0e1-2345-6789-abcdef012345",
"number": "CN-001",
"amount": 500
}
],
"paymentTerm": {
"id": "3a2b1c0d-4e5f-6789-0abc-def123456789",
"name": "Net 30",
"type": "net",
"days": 30
}
}{
"status": 400,
"message": "Parameter 'id' is not a valid UUID."
}{
"status": 404,
"message": "Object with id 'a1f4e8dc-9b72-4c6a-8e3d-5f0b2a7c9d4e' not found."
}Get an invoice
curl --request GET \
--url https://www.ruddr.io/api/workspace/invoices/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.ruddr.io/api/workspace/invoices/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.ruddr.io/api/workspace/invoices/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.ruddr.io/api/workspace/invoices/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.ruddr.io/api/workspace/invoices/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.ruddr.io/api/workspace/invoices/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.ruddr.io/api/workspace/invoices/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "56deca22-a707-4148-a5f7-ea3ae6391d67",
"companyName": "Ruddr Inc.",
"companyStreetAddress": "123 Main St, Suite 200",
"number": "INV-001",
"statusId": "paid",
"billTo": "Acme Corp",
"invoiceFor": "Website Redesign - January 2025",
"issuedOn": "2025-01-15",
"servicesThrough": "2025-01-31",
"dueOn": "2025-02-14",
"poNumber": "PO-84657",
"notes": "Payment due within 30 days.",
"emailSubject": "Invoice INV-001 from Ruddr Inc.",
"emails": [
"billing@acmecorp.com"
],
"ccEmails": [
"finance@acmecorp.com"
],
"emailBody": "Please find your invoice attached.",
"emailFromName": "Ruddr Billing",
"replyTo": "billing@ruddr.io",
"sendBcc": true,
"sentOn": "2025-01-15",
"currency": "USD",
"subtotal": 50000,
"totalDiscount": 2500,
"taxRate": 0.05,
"totalTax": 2375,
"total": 49875,
"amountPaid": 49875,
"amountCredited": 500,
"amountDue": 0,
"createdAt": "2025-01-15T20:47:03.284Z",
"modifiedAt": "2025-02-05T20:47:03.284Z",
"client": {
"id": "7c8f2e19-4d5a-4a3b-9c6d-2e8f1a0b3c4d",
"name": "Acme Corp"
},
"projects": [
{
"id": "b4cc2b99-3b3a-4b73-8f4e-8c1d7a94e5b0",
"name": "Website Redesign"
}
],
"lines": [
{
"id": "f1105e03-a6ab-4e9c-9e62-71d699067477",
"lineNumber": 1,
"item": "Design Services",
"description": "Homepage and landing page design",
"quantity": 40,
"rate": 150,
"amount": 6000,
"taxable": true,
"invoiceItem": {
"id": "d4e5f6a7-b8c9-0123-4567-89abcdef0123",
"name": "Design Services"
},
"project": {
"id": "b4cc2b99-3b3a-4b73-8f4e-8c1d7a94e5b0",
"name": "Website Redesign"
}
}
],
"payments": [
{
"id": "e5f6a7b8-c9d0-1234-5678-9abcdef01234",
"referenceNumber": "CHK-1234",
"amount": 49875
}
],
"creditNotes": [
{
"id": "f6a7b8c9-d0e1-2345-6789-abcdef012345",
"number": "CN-001",
"amount": 500
}
],
"paymentTerm": {
"id": "3a2b1c0d-4e5f-6789-0abc-def123456789",
"name": "Net 30",
"type": "net",
"days": 30
}
}{
"status": 400,
"message": "Parameter 'id' is not a valid UUID."
}{
"status": 404,
"message": "Object with id 'a1f4e8dc-9b72-4c6a-8e3d-5f0b2a7c9d4e' not found."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The invoice uuid
Response
200
The unique identifier for the object.
The company name displayed on the invoice.
The company street address displayed on the invoice.
The invoice number.
The current status of the invoice.
draft, open, sent, viewed, partially_paid, paid, overdue, void, write_off The bill-to text displayed on the invoice.
A description of the products or services being invoiced.
The date the invoice was issued (YYYY-MM-DD).
The services-through date (YYYY-MM-DD).
The date the invoice is due (YYYY-MM-DD).
The purchase order number.
Notes displayed on the invoice.
The email subject used when sending the invoice.
The email addresses the invoice is sent to.
The CC email addresses when sending the invoice.
The email body used when sending the invoice.
The from name used when sending the invoice.
The reply-to email address used when sending the invoice.
Whether to send a BCC copy when the invoice is sent.
The date the invoice was sent (YYYY-MM-DD).
The 3-letter currency code for the invoice.
The subtotal of all line items before discounts and taxes.
The total discount amount applied to the invoice.
The tax rate as a decimal (e.g., 0.05 for 5%).
The total tax amount on the invoice.
The total amount of the invoice including tax.
The total amount paid on the invoice.
The total amount credited on the invoice.
The remaining balance due on the invoice.
The timestamp when the object was created.
The timestamp when the object was last modified.
The client associated with this invoice.
Show child attributes
Show child attributes
The projects associated with this invoice.
Show child attributes
Show child attributes
The line items on the invoice.
Show child attributes
Show child attributes
Payments applied to this invoice.
Show child attributes
Show child attributes
Credit notes applied to this invoice.
Show child attributes
Show child attributes
The payment term for the invoice.
Show child attributes
Show child attributes