curl --request GET \
--url https://www.ruddr.io/api/workspace/invoices \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.ruddr.io/api/workspace/invoices"
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', 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",
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"
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")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.ruddr.io/api/workspace/invoices")
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{
"results": [
{
"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": "e39a7c84-2f1b-4d6e-b058-3c9af1d20e47",
"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
}
}
],
"hasMore": false
}List invoices
curl --request GET \
--url https://www.ruddr.io/api/workspace/invoices \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.ruddr.io/api/workspace/invoices"
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', 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",
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"
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")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.ruddr.io/api/workspace/invoices")
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{
"results": [
{
"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": "e39a7c84-2f1b-4d6e-b058-3c9af1d20e47",
"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
}
}
],
"hasMore": false
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
A cursor ID (uuid) used to request the next page of results. If not provided, defaults to the first page of results.
A cursor ID (uuid) used to request the previous page of results. Is mutually exclusive with startingAfter.
The maximum number of results to be returned. Can be any number from 1 to 100. Defaults to 10, if not provided.
A filter on the list based on the invoice's modifiedAt field. Accepts an ISO 8601 date or datetime. This will match timestamps after (>) the value specified.
A filter on the list based on the invoice's modifiedAt field. Accepts an ISO 8601 date or datetime. This will match timestamps on and after (>=) the value specified.
A filter on the list based on the invoice's modifiedAt field. Accepts an ISO 8601 date or datetime. This will match timestamps before (<) the value specified.
A filter on the list based on the invoice's modifiedAt field. Accepts an ISO 8601 date or datetime. This will match timestamps on and before (<=) the value specified.
A client ID (uuid) used to filter invoices for a specific client.
A filter on the list based on the invoice's issuedOn field in the format YYYY-MM-DD. This will match the exact date (=) specified.
A filter on the list based on the invoice's issuedOn field in the format YYYY-MM-DD. This will match dates after (>) the date specified.
A filter on the list based on the invoice's issuedOn field in the format YYYY-MM-DD. This will match dates on and after (>=) the date specified.
A filter on the list based on the invoice's issuedOn field in the format YYYY-MM-DD. This will match dates before (<) the date specified.
A filter on the list based on the invoice's issuedOn field in the format YYYY-MM-DD. This will match dates on and before (<=) the date specified.