Download OpenAPI specification:Download
API Support: accounts@resolvepay.com
Legacy (v2) API documentation: https://app.resolvepay.com/docs/api/v2
The Resolve API is organized around REST principles. It uses predictable resource-oriented URLs, standard HTTP verbs and response codes, and accepts and returns JSON-encoded request and response bodies.
Resolve offers both server-side and client-side integrations. This documentation refers to the server-side API. Refer to our e-commerce plugin guides for details on client-side checkout solutions.
There is a sandbox API available for testing, which leverages the same data store as your sandbox dashboard. Testing on sandbox won't affect your live data or create money movements.
Environment | Base URL |
Production |
https://app.resolvepay.com/api/
|
Sandbox |
https://app-sandbox.resolvepay.com/api/
|
Before using the API, reach out and get your Resolve account created. This account enables access to the credentials that are necessary for API access.
Resolve uses HTTP basic authentication where the username refers to your merchant ID, and the password refers to your secret API key.
When backwards-incompatible changes are released, a new, dated version is released. The current version is V5. You can upgrade the version of the api that your account uses within your merchant settings.
Legacy (v2) API documentation may be found here.
All top-level API resources have support for bulk fetches via "list" API methods. For instance, you can list customers, list invoices.
These list API methods share a common structure, taking at least two parameters: limit
and page
.
count
- represents total amount of records, satisfying the request query.page
- a multiplier value, which gets applied to the limit
and shows what position records are being returned from.
For example, if limit = 20
and page = 5
, then maximun 20
records will be returned from position 5 * 20 = 100
.limit
- maximun amount of records, which can be returned.results
- array of records being returned. If no records satisfy request condition, the array will be empty.To ensure platform reliability and fair use, Resolve implements rate limits for the REST API.
Resolve APIs use the Sliding Window algorithm to monitor and control request rates with a 100 requests/minute limit. The API will return a 429 Too Many Requests
status if the amount of requests exceeds rate limits.
All responses from Resolve APIs will include the following headers:
X-Ratelimit-Limit
: The maximum amount of requests permitted within a 60-second period.X-Ratelimit-Remaining
: The remaining requests within the current period.X-Ratelimit-Reset
: A UNIX timestamp indicating when the rate limit period will reset.X-Ratelimit-Limit
and X-Ratelimit-Remaining
response headers in your application to avoid surpassing rate limits.429
status code.Webhooks allow you to receive real-time notifications about events in your Resolve account. When an event occurs, Resolve sends an HTTP POST request to your configured webhook endpoint with details about the event.
All webhook events follow a consistent structure:
{
"id": "4ecbe7f9e8c1c9092c000027",
"object": "invoice",
"type": "invoice.created",
"occurred_at": "2021-05-20T09:23:53+00:00",
"data": {
"id": "RH5fF9aeQ"
}
}
The data.id
field contains the ID of the object related to the event. You can use this ID to fetch the full object via the corresponding API endpoint.
invoice.created
- Triggered when a new invoice record is created.invoice.balance_updated
- Triggered when the outstanding balance of an invoice changes (for example, when a payment or credit note is applied).customer.created
- Triggered when a new customer record is created.customer.status_updated
- Triggered when a customer's status changes (for example, when a customer is submitted for a credit check or enrolled).customer.line_amount_updated
- Triggered when a customer's credit limit amount is updated.customer.advance_rate_updated
- Triggered when a customer's advance rate percentage is updated.customer.credit_decision_created
- Triggered when a new credit decision is created for a customer.payout.created
- Triggered when a new payout record is created.payout.status_changed
- Triggered when the status of a payout changes (for example, pending, in transit, paid).To ensure webhook requests are genuine and coming from Resolve, you should verify the webhook signature. Resolve includes a signature in the x-webhook-signature
header of each webhook request.
const crypto = require('crypto');
function verifyWebhookSignature(payload, signature, secret) {
const computedSignature = crypto
.createHmac('sha256', secret)
.update(JSON.stringify(payload))
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(computedSignature)
);
}
// Usage in Express.js
app.post('/webhooks', express.json(), (req, res) => {
const signature = req.headers['x-webhook-signature'];
const isValid = verifyWebhookSignature(req.body, signature, process.env.WEBHOOK_SECRET);
if (!isValid) {
return res.status(401).send('Invalid signature');
}
// Process the webhook event
const event = req.body;
console.log('Received event:', event.type);
res.status(200).send('Webhook received');
});
If your webhook endpoint doesn't respond successfully (non-2xx status code or connection error), Resolve will automatically retry sending the webhook notification. The retry schedule follows an exponential backoff pattern:
After the 5th unsuccessful attempt, Resolve will stop retrying and the webhook delivery will be marked as failed.
200
status code as quickly as possible to acknowledge receiptid
to track which events you've already processedThe invoice represents the business transaction between you and your customer. In Resolve, an invoice must be tied to a customer and an advance can be taken on the invoice.
For an advance to be taken on the invoice, a PDF of the invoice must be uploaded and the associated customer must be approved and have available credit for the amount of the invoice.
Return a list of invoices.
An object with an array of results containing up to the limit. If no invoices are found, the results array will be empty.
Bad request error
Unauthorized error
Rate limit error
{- "count": 1,
- "limit": 25,
- "page": 1,
- "results": [
- {
- "id": "PMMlaE5wbg0",
- "source": "MERCHANT_USER",
- "customer_id": "string",
- "order_number": "5055",
- "number": "Inv # 123",
- "po_number": "PO-555",
- "notes": "Example of additional notes for Customer.",
- "line_items": [ ],
- "resolve_invoice_status": "completed",
- "fully_paid": true,
- "fully_paid_at": "2020-01-01T00:00:00.730Z",
- "advanced": false,
- "due_at": "2020-02-01T00:00:00.750Z",
- "original_due_at": "2020-02-01T00:00:00.750Z",
- "invoiced_at": "2020-01-01T00:00:00.750Z",
- "advance_requested": "false",
- "terms": "due_upon_receipt",
- "amount_payout_due": 4000,
- "amount_payout_paid": 2000,
- "amount_payout_pending": 1000,
- "amount_payout_refunded": 500,
- "amount_payout_balance": 500,
- "payout_fully_paid": false,
- "payout_fully_paid_at": "2020-01-02T00:00:00.730Z",
- "amount_balance": 2000,
- "amount_due": 4000,
- "amount_refunded": 0,
- "amount_pending": 1000,
- "amount_paid": 1000,
- "amount_advance": 4000,
- "amount_additional_advance": 1000,
- "amount_advance_fee": 10.75,
- "amount_advance_fee_refund": 10.75,
- "advance_rate": 0.75,
- "advanced_at": "2020-01-02T00:00:00.730Z",
- "amount_customer_fee_total": 500,
- "amount_customer_fee_waived": 120,
- "amount_customer_fee_paid": 300,
- "amount_customer_fee_balance": 80,
- "created_at": "2020-01-02T00:00:00.730Z",
- "updated_at": "2020-01-02T00:00:00.730Z",
- "archived": false,
- "canceled": false,
- "canceled_at": null,
- "voided": false,
- "voided_at": null,
- "amount_canceled": 0,
- "amount_voided": 0
}
]
}
Create a new advanced or non-advanced invoice with the desired terms.
Invoice to add to the system.
An object representing a created invoice.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "terms": "due_upon_receipt",
- "number": "R334-097",
- "order_number": "09785",
- "po_number": "PO-09785",
- "notes": "Example of additional notes for Customer.",
- "customer_id": "X50sgfRd",
- "advance_requested": "false",
- "amount": 2000
}
{- "id": "PMMlaE5wbg0",
- "source": "MERCHANT_USER",
- "customer_id": "string",
- "order_number": "5055",
- "number": "Inv # 123",
- "po_number": "PO-555",
- "notes": "Example of additional notes for Customer.",
- "line_items": [ ],
- "resolve_invoice_status": "completed",
- "fully_paid": true,
- "fully_paid_at": "2020-01-01T00:00:00.730Z",
- "advanced": false,
- "due_at": "2020-02-01T00:00:00.750Z",
- "original_due_at": "2020-02-01T00:00:00.750Z",
- "invoiced_at": "2020-01-01T00:00:00.750Z",
- "advance_requested": "false",
- "terms": "due_upon_receipt",
- "amount_payout_due": 4000,
- "amount_payout_paid": 2000,
- "amount_payout_pending": 1000,
- "amount_payout_refunded": 500,
- "amount_payout_balance": 500,
- "payout_fully_paid": false,
- "payout_fully_paid_at": "2020-01-02T00:00:00.730Z",
- "amount_balance": 2000,
- "amount_due": 4000,
- "amount_refunded": 0,
- "amount_pending": 1000,
- "amount_paid": 1000,
- "amount_advance": 4000,
- "amount_additional_advance": 1000,
- "amount_advance_fee": 10.75,
- "amount_advance_fee_refund": 10.75,
- "advance_rate": 0.75,
- "advanced_at": "2020-01-02T00:00:00.730Z",
- "amount_customer_fee_total": 500,
- "amount_customer_fee_waived": 120,
- "amount_customer_fee_paid": 300,
- "amount_customer_fee_balance": 80,
- "created_at": "2020-01-02T00:00:00.730Z",
- "updated_at": "2020-01-02T00:00:00.730Z",
- "archived": false,
- "canceled": false,
- "canceled_at": null,
- "voided": false,
- "voided_at": null,
- "amount_canceled": 0,
- "amount_voided": 0
}
Delete one or more invoices.
An array of results.
Bad request error
Unauthorized error
Rate limit error
{- "ids": [
- "X50sgfRd",
- "cKaVg8r6"
]
}
[- {
- "id": "PMMlaE5wbg0",
- "source": "MERCHANT_USER",
- "customer_id": "string",
- "order_number": "5055",
- "number": "Inv # 123",
- "po_number": "PO-555",
- "notes": "Example of additional notes for Customer.",
- "line_items": [ ],
- "resolve_invoice_status": "completed",
- "fully_paid": true,
- "fully_paid_at": "2020-01-01T00:00:00.730Z",
- "advanced": false,
- "due_at": "2020-02-01T00:00:00.750Z",
- "original_due_at": "2020-02-01T00:00:00.750Z",
- "invoiced_at": "2020-01-01T00:00:00.750Z",
- "advance_requested": "false",
- "terms": "due_upon_receipt",
- "amount_payout_due": 4000,
- "amount_payout_paid": 2000,
- "amount_payout_pending": 1000,
- "amount_payout_refunded": 500,
- "amount_payout_balance": 500,
- "payout_fully_paid": false,
- "payout_fully_paid_at": "2020-01-02T00:00:00.730Z",
- "amount_balance": 2000,
- "amount_due": 4000,
- "amount_refunded": 0,
- "amount_pending": 1000,
- "amount_paid": 1000,
- "amount_advance": 4000,
- "amount_additional_advance": 1000,
- "amount_advance_fee": 10.75,
- "amount_advance_fee_refund": 10.75,
- "advance_rate": 0.75,
- "advanced_at": "2020-01-02T00:00:00.730Z",
- "amount_customer_fee_total": 500,
- "amount_customer_fee_waived": 120,
- "amount_customer_fee_paid": 300,
- "amount_customer_fee_balance": 80,
- "created_at": "2020-01-02T00:00:00.730Z",
- "updated_at": "2020-01-02T00:00:00.730Z",
- "archived": false,
- "canceled": false,
- "canceled_at": null,
- "voided": false,
- "voided_at": null,
- "amount_canceled": 0,
- "amount_voided": 0
}
]
Retrieve an existing invoice by its ID.
An object representing a created invoice.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "id": "PMMlaE5wbg0",
- "source": "MERCHANT_USER",
- "customer_id": "string",
- "order_number": "5055",
- "number": "Inv # 123",
- "po_number": "PO-555",
- "notes": "Example of additional notes for Customer.",
- "line_items": [ ],
- "resolve_invoice_status": "completed",
- "fully_paid": true,
- "fully_paid_at": "2020-01-01T00:00:00.730Z",
- "advanced": false,
- "due_at": "2020-02-01T00:00:00.750Z",
- "original_due_at": "2020-02-01T00:00:00.750Z",
- "invoiced_at": "2020-01-01T00:00:00.750Z",
- "advance_requested": "false",
- "terms": "due_upon_receipt",
- "amount_payout_due": 4000,
- "amount_payout_paid": 2000,
- "amount_payout_pending": 1000,
- "amount_payout_refunded": 500,
- "amount_payout_balance": 500,
- "payout_fully_paid": false,
- "payout_fully_paid_at": "2020-01-02T00:00:00.730Z",
- "amount_balance": 2000,
- "amount_due": 4000,
- "amount_refunded": 0,
- "amount_pending": 1000,
- "amount_paid": 1000,
- "amount_advance": 4000,
- "amount_additional_advance": 1000,
- "amount_advance_fee": 10.75,
- "amount_advance_fee_refund": 10.75,
- "advance_rate": 0.75,
- "advanced_at": "2020-01-02T00:00:00.730Z",
- "amount_customer_fee_total": 500,
- "amount_customer_fee_waived": 120,
- "amount_customer_fee_paid": 300,
- "amount_customer_fee_balance": 80,
- "created_at": "2020-01-02T00:00:00.730Z",
- "updated_at": "2020-01-02T00:00:00.730Z",
- "archived": false,
- "canceled": false,
- "canceled_at": null,
- "voided": false,
- "voided_at": null,
- "amount_canceled": 0,
- "amount_voided": 0
}
Update an invoice.
Fields to update an invoice with. Please note, allowed fields depend on whether or not the invoice has been sent.
An object representing a created invoice.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "terms": "due_upon_receipt",
- "number": "R334-097",
- "order_number": "09785",
- "po_number": "PO-09785",
- "notes": "Example of additional notes for Customer.",
- "customer_id": "X50sgfRd",
- "advance_requested": "false",
- "amount": 2000
}
{- "id": "PMMlaE5wbg0",
- "source": "MERCHANT_USER",
- "customer_id": "string",
- "order_number": "5055",
- "number": "Inv # 123",
- "po_number": "PO-555",
- "notes": "Example of additional notes for Customer.",
- "line_items": [ ],
- "resolve_invoice_status": "completed",
- "fully_paid": true,
- "fully_paid_at": "2020-01-01T00:00:00.730Z",
- "advanced": false,
- "due_at": "2020-02-01T00:00:00.750Z",
- "original_due_at": "2020-02-01T00:00:00.750Z",
- "invoiced_at": "2020-01-01T00:00:00.750Z",
- "advance_requested": "false",
- "terms": "due_upon_receipt",
- "amount_payout_due": 4000,
- "amount_payout_paid": 2000,
- "amount_payout_pending": 1000,
- "amount_payout_refunded": 500,
- "amount_payout_balance": 500,
- "payout_fully_paid": false,
- "payout_fully_paid_at": "2020-01-02T00:00:00.730Z",
- "amount_balance": 2000,
- "amount_due": 4000,
- "amount_refunded": 0,
- "amount_pending": 1000,
- "amount_paid": 1000,
- "amount_advance": 4000,
- "amount_additional_advance": 1000,
- "amount_advance_fee": 10.75,
- "amount_advance_fee_refund": 10.75,
- "advance_rate": 0.75,
- "advanced_at": "2020-01-02T00:00:00.730Z",
- "amount_customer_fee_total": 500,
- "amount_customer_fee_waived": 120,
- "amount_customer_fee_paid": 300,
- "amount_customer_fee_balance": 80,
- "created_at": "2020-01-02T00:00:00.730Z",
- "updated_at": "2020-01-02T00:00:00.730Z",
- "archived": false,
- "canceled": false,
- "canceled_at": null,
- "voided": false,
- "voided_at": null,
- "amount_canceled": 0,
- "amount_voided": 0
}
Send an invoice to the customer.
An object representing a created invoice.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "id": "PMMlaE5wbg0",
- "source": "MERCHANT_USER",
- "customer_id": "string",
- "order_number": "5055",
- "number": "Inv # 123",
- "po_number": "PO-555",
- "notes": "Example of additional notes for Customer.",
- "line_items": [ ],
- "resolve_invoice_status": "completed",
- "fully_paid": true,
- "fully_paid_at": "2020-01-01T00:00:00.730Z",
- "advanced": false,
- "due_at": "2020-02-01T00:00:00.750Z",
- "original_due_at": "2020-02-01T00:00:00.750Z",
- "invoiced_at": "2020-01-01T00:00:00.750Z",
- "advance_requested": "false",
- "terms": "due_upon_receipt",
- "amount_payout_due": 4000,
- "amount_payout_paid": 2000,
- "amount_payout_pending": 1000,
- "amount_payout_refunded": 500,
- "amount_payout_balance": 500,
- "payout_fully_paid": false,
- "payout_fully_paid_at": "2020-01-02T00:00:00.730Z",
- "amount_balance": 2000,
- "amount_due": 4000,
- "amount_refunded": 0,
- "amount_pending": 1000,
- "amount_paid": 1000,
- "amount_advance": 4000,
- "amount_additional_advance": 1000,
- "amount_advance_fee": 10.75,
- "amount_advance_fee_refund": 10.75,
- "advance_rate": 0.75,
- "advanced_at": "2020-01-02T00:00:00.730Z",
- "amount_customer_fee_total": 500,
- "amount_customer_fee_waived": 120,
- "amount_customer_fee_paid": 300,
- "amount_customer_fee_balance": 80,
- "created_at": "2020-01-02T00:00:00.730Z",
- "updated_at": "2020-01-02T00:00:00.730Z",
- "archived": false,
- "canceled": false,
- "canceled_at": null,
- "voided": false,
- "voided_at": null,
- "amount_canceled": 0,
- "amount_voided": 0
}
Void an invoice.
An object representing a created invoice.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "id": "PMMlaE5wbg0",
- "source": "MERCHANT_USER",
- "customer_id": "string",
- "order_number": "5055",
- "number": "Inv # 123",
- "po_number": "PO-555",
- "notes": "Example of additional notes for Customer.",
- "line_items": [ ],
- "resolve_invoice_status": "completed",
- "fully_paid": true,
- "fully_paid_at": "2020-01-01T00:00:00.730Z",
- "advanced": false,
- "due_at": "2020-02-01T00:00:00.750Z",
- "original_due_at": "2020-02-01T00:00:00.750Z",
- "invoiced_at": "2020-01-01T00:00:00.750Z",
- "advance_requested": "false",
- "terms": "due_upon_receipt",
- "amount_payout_due": 4000,
- "amount_payout_paid": 2000,
- "amount_payout_pending": 1000,
- "amount_payout_refunded": 500,
- "amount_payout_balance": 500,
- "payout_fully_paid": false,
- "payout_fully_paid_at": "2020-01-02T00:00:00.730Z",
- "amount_balance": 2000,
- "amount_due": 4000,
- "amount_refunded": 0,
- "amount_pending": 1000,
- "amount_paid": 1000,
- "amount_advance": 4000,
- "amount_additional_advance": 1000,
- "amount_advance_fee": 10.75,
- "amount_advance_fee_refund": 10.75,
- "advance_rate": 0.75,
- "advanced_at": "2020-01-02T00:00:00.730Z",
- "amount_customer_fee_total": 500,
- "amount_customer_fee_waived": 120,
- "amount_customer_fee_paid": 300,
- "amount_customer_fee_balance": 80,
- "created_at": "2020-01-02T00:00:00.730Z",
- "updated_at": "2020-01-02T00:00:00.730Z",
- "archived": false,
- "canceled": false,
- "canceled_at": null,
- "voided": false,
- "voided_at": null,
- "amount_canceled": 0,
- "amount_voided": 0
}
Cancel an invoice.
An object representing a created invoice.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "id": "PMMlaE5wbg0",
- "source": "MERCHANT_USER",
- "customer_id": "string",
- "order_number": "5055",
- "number": "Inv # 123",
- "po_number": "PO-555",
- "notes": "Example of additional notes for Customer.",
- "line_items": [ ],
- "resolve_invoice_status": "completed",
- "fully_paid": true,
- "fully_paid_at": "2020-01-01T00:00:00.730Z",
- "advanced": false,
- "due_at": "2020-02-01T00:00:00.750Z",
- "original_due_at": "2020-02-01T00:00:00.750Z",
- "invoiced_at": "2020-01-01T00:00:00.750Z",
- "advance_requested": "false",
- "terms": "due_upon_receipt",
- "amount_payout_due": 4000,
- "amount_payout_paid": 2000,
- "amount_payout_pending": 1000,
- "amount_payout_refunded": 500,
- "amount_payout_balance": 500,
- "payout_fully_paid": false,
- "payout_fully_paid_at": "2020-01-02T00:00:00.730Z",
- "amount_balance": 2000,
- "amount_due": 4000,
- "amount_refunded": 0,
- "amount_pending": 1000,
- "amount_paid": 1000,
- "amount_advance": 4000,
- "amount_additional_advance": 1000,
- "amount_advance_fee": 10.75,
- "amount_advance_fee_refund": 10.75,
- "advance_rate": 0.75,
- "advanced_at": "2020-01-02T00:00:00.730Z",
- "amount_customer_fee_total": 500,
- "amount_customer_fee_waived": 120,
- "amount_customer_fee_paid": 300,
- "amount_customer_fee_balance": 80,
- "created_at": "2020-01-02T00:00:00.730Z",
- "updated_at": "2020-01-02T00:00:00.730Z",
- "archived": false,
- "canceled": false,
- "canceled_at": null,
- "voided": false,
- "voided_at": null,
- "amount_canceled": 0,
- "amount_voided": 0
}
A customer represents a company that you do business with. For larger companies, there may be several users with access to the customer account that can make purchases with their credit line. For smaller companies, a customer may represent a single individual. Retrieve a customer to get a summary of their total credit line and available credit balance.
Return a list of customers.
An object with an array of results containing up to the limit. If no customers are found, the results array will be empty.
Bad request error
Unauthorized error
Rate limit error
{- "count": 1,
- "limit": 25,
- "page": 1,
- "results": [
- {
- "id": "PMMlaE5wbg0",
- "created_at": "2020-01-01T00:00:00.750Z",
- "updated_at": "2020-01-01T00:00:00.750Z",
- "source": "MERCHANT_USER",
- "business_address": "111 Main Street",
- "business_city": "San Francisco",
- "business_state": "CA",
- "business_zip": "94104",
- "business_country": "US",
- "business_age_range": "5-10",
- "business_ap_email": "ap@example.com",
- "business_ap_phone": "(202) 456-1414",
- "business_ap_phone_extension": "123",
- "business_name": "Example, Inc.",
- "business_trade_name": "Example Trading Company",
- "business_phone": "(202) 456-1414",
- "business_type": "corporation",
- "email": "user@example.com",
- "personal_name_first": "James",
- "personal_name_last": "Bond",
- "personal_phone": "(202) 456-1414",
- "amount_approved": 10000,
- "amount_authorized": 10000,
- "amount_available": 10000,
- "amount_balance": 2000,
- "amount_unapplied_payments": 1000,
- "default_terms": "net7",
- "advance_rate": 0.75,
- "credit_status": "approved",
- "net_terms_status": "enrolled",
- "net_terms_enrollment_url": "www.app.resolvepay.com/merchant-id/activate/123456",
- "net_terms_enrollment_expires_at": "2020-01-01T00:00:00.750Z",
- "credit_check_requested_at": "2020-01-01T00:00:00.750Z",
- "archived": false,
- "duns_number": "00-123-4567",
- "credit_decisions": [
- {
- "id": "abc123",
- "created_at": "2020-01-01T00:00:00.750Z",
- "decision": "approved",
- "amount": 10000,
- "advance_rate": 0.75,
- "decline_code": "no_business_found",
- "hold_code": "past_due"
}
]
}
]
}
Create a customer
Customer to add to the system.
An object representing the customer.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "business_address": "111 Main Street",
- "business_city": "San Francisco",
- "business_state": "CA",
- "business_zip": "94104",
- "business_country": "US",
- "business_ap_email": "ap@example.com",
- "business_ap_phone": "(202) 456-1414",
- "business_ap_phone_extension": "123",
- "business_name": "Example, Inc.",
- "email": "user@example.com",
- "default_terms": "net7"
}
{- "id": "PMMlaE5wbg0",
- "created_at": "2020-01-01T00:00:00.750Z",
- "updated_at": "2020-01-01T00:00:00.750Z",
- "source": "MERCHANT_USER",
- "business_address": "111 Main Street",
- "business_city": "San Francisco",
- "business_state": "CA",
- "business_zip": "94104",
- "business_country": "US",
- "business_age_range": "5-10",
- "business_ap_email": "ap@example.com",
- "business_ap_phone": "(202) 456-1414",
- "business_ap_phone_extension": "123",
- "business_name": "Example, Inc.",
- "business_trade_name": "Example Trading Company",
- "business_phone": "(202) 456-1414",
- "business_type": "corporation",
- "email": "user@example.com",
- "personal_name_first": "James",
- "personal_name_last": "Bond",
- "personal_phone": "(202) 456-1414",
- "amount_approved": 10000,
- "amount_authorized": 10000,
- "amount_available": 10000,
- "amount_balance": 2000,
- "amount_unapplied_payments": 1000,
- "default_terms": "net7",
- "advance_rate": 0.75,
- "credit_status": "approved",
- "net_terms_status": "enrolled",
- "net_terms_enrollment_url": "www.app.resolvepay.com/merchant-id/activate/123456",
- "net_terms_enrollment_expires_at": "2020-01-01T00:00:00.750Z",
- "credit_check_requested_at": "2020-01-01T00:00:00.750Z",
- "archived": false,
- "duns_number": "00-123-4567",
- "credit_decisions": [
- {
- "id": "abc123",
- "created_at": "2020-01-01T00:00:00.750Z",
- "decision": "approved",
- "amount": 10000,
- "advance_rate": 0.75,
- "decline_code": "no_business_found",
- "hold_code": "past_due"
}
]
}
Retrieve an existing customer by its ID.
A successful response to this request will be the Customer entity.
If customer enrollment is required, we will return net_terms_status='pending_enrollment'
and a not null net_terms_enrollment_url
.
If customer enrollment is not required (customer applied through a direct application), we will return net_terms_status='enrolled'
.
An object representing the customer.
Unauthorized error
Not found error
Rate limit error
{- "id": "PMMlaE5wbg0",
- "created_at": "2020-01-01T00:00:00.750Z",
- "updated_at": "2020-01-01T00:00:00.750Z",
- "source": "MERCHANT_USER",
- "business_address": "111 Main Street",
- "business_city": "San Francisco",
- "business_state": "CA",
- "business_zip": "94104",
- "business_country": "US",
- "business_age_range": "5-10",
- "business_ap_email": "ap@example.com",
- "business_ap_phone": "(202) 456-1414",
- "business_ap_phone_extension": "123",
- "business_name": "Example, Inc.",
- "business_trade_name": "Example Trading Company",
- "business_phone": "(202) 456-1414",
- "business_type": "corporation",
- "email": "user@example.com",
- "personal_name_first": "James",
- "personal_name_last": "Bond",
- "personal_phone": "(202) 456-1414",
- "amount_approved": 10000,
- "amount_authorized": 10000,
- "amount_available": 10000,
- "amount_balance": 2000,
- "amount_unapplied_payments": 1000,
- "default_terms": "net7",
- "advance_rate": 0.75,
- "credit_status": "approved",
- "net_terms_status": "enrolled",
- "net_terms_enrollment_url": "www.app.resolvepay.com/merchant-id/activate/123456",
- "net_terms_enrollment_expires_at": "2020-01-01T00:00:00.750Z",
- "credit_check_requested_at": "2020-01-01T00:00:00.750Z",
- "archived": false,
- "duns_number": "00-123-4567",
- "credit_decisions": [
- {
- "id": "abc123",
- "created_at": "2020-01-01T00:00:00.750Z",
- "decision": "approved",
- "amount": 10000,
- "advance_rate": 0.75,
- "decline_code": "no_business_found",
- "hold_code": "past_due"
}
]
}
Update a customer
Fields to update a customer with.
An object representing the customer.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "business_address": "111 Main Street",
- "business_city": "San Francisco",
- "business_state": "CA",
- "business_zip": "94104",
- "business_country": "US",
- "business_ap_email": "ap@example.com",
- "business_ap_phone": "(202) 456-1414",
- "business_ap_phone_extension": "123",
- "business_name": "Example, Inc.",
- "email": "user@example.com",
- "default_terms": "net7"
}
{- "id": "PMMlaE5wbg0",
- "created_at": "2020-01-01T00:00:00.750Z",
- "updated_at": "2020-01-01T00:00:00.750Z",
- "source": "MERCHANT_USER",
- "business_address": "111 Main Street",
- "business_city": "San Francisco",
- "business_state": "CA",
- "business_zip": "94104",
- "business_country": "US",
- "business_age_range": "5-10",
- "business_ap_email": "ap@example.com",
- "business_ap_phone": "(202) 456-1414",
- "business_ap_phone_extension": "123",
- "business_name": "Example, Inc.",
- "business_trade_name": "Example Trading Company",
- "business_phone": "(202) 456-1414",
- "business_type": "corporation",
- "email": "user@example.com",
- "personal_name_first": "James",
- "personal_name_last": "Bond",
- "personal_phone": "(202) 456-1414",
- "amount_approved": 10000,
- "amount_authorized": 10000,
- "amount_available": 10000,
- "amount_balance": 2000,
- "amount_unapplied_payments": 1000,
- "default_terms": "net7",
- "advance_rate": 0.75,
- "credit_status": "approved",
- "net_terms_status": "enrolled",
- "net_terms_enrollment_url": "www.app.resolvepay.com/merchant-id/activate/123456",
- "net_terms_enrollment_expires_at": "2020-01-01T00:00:00.750Z",
- "credit_check_requested_at": "2020-01-01T00:00:00.750Z",
- "archived": false,
- "duns_number": "00-123-4567",
- "credit_decisions": [
- {
- "id": "abc123",
- "created_at": "2020-01-01T00:00:00.750Z",
- "decision": "approved",
- "amount": 10000,
- "advance_rate": 0.75,
- "decline_code": "no_business_found",
- "hold_code": "past_due"
}
]
}
An object representing the customer.
Bad request error
Unauthorized error
Not found error
Unprocessable entity error
Rate limit error
{- "id": "PMMlaE5wbg0",
- "created_at": "2020-01-01T00:00:00.750Z",
- "updated_at": "2020-01-01T00:00:00.750Z",
- "source": "MERCHANT_USER",
- "business_address": "111 Main Street",
- "business_city": "San Francisco",
- "business_state": "CA",
- "business_zip": "94104",
- "business_country": "US",
- "business_age_range": "5-10",
- "business_ap_email": "ap@example.com",
- "business_ap_phone": "(202) 456-1414",
- "business_ap_phone_extension": "123",
- "business_name": "Example, Inc.",
- "business_trade_name": "Example Trading Company",
- "business_phone": "(202) 456-1414",
- "business_type": "corporation",
- "email": "user@example.com",
- "personal_name_first": "James",
- "personal_name_last": "Bond",
- "personal_phone": "(202) 456-1414",
- "amount_approved": 10000,
- "amount_authorized": 10000,
- "amount_available": 10000,
- "amount_balance": 2000,
- "amount_unapplied_payments": 1000,
- "default_terms": "net7",
- "advance_rate": 0.75,
- "credit_status": "approved",
- "net_terms_status": "enrolled",
- "net_terms_enrollment_url": "www.app.resolvepay.com/merchant-id/activate/123456",
- "net_terms_enrollment_expires_at": "2020-01-01T00:00:00.750Z",
- "credit_check_requested_at": "2020-01-01T00:00:00.750Z",
- "archived": false,
- "duns_number": "00-123-4567",
- "credit_decisions": [
- {
- "id": "abc123",
- "created_at": "2020-01-01T00:00:00.750Z",
- "decision": "approved",
- "amount": 10000,
- "advance_rate": 0.75,
- "decline_code": "no_business_found",
- "hold_code": "past_due"
}
]
}
You may request a credit check on a customer who hasn't previously been credit checked.
A successful response to a credit check is the Customer entity: you'll be able to immediately see the date you requested
the credit check (credit_check_requested_at
) and credit_status
will be updated to pending
or,
in the case of an instant decision, approved
or declined
.
A hold
credit status represents when a customer's credit account is over 15 days overdue.
A deactivated
credit status represents when a customer's credit account has been deactivated.
When a customer's credit_status
is approved
- the customer's net_terms_status
represents the current state of a customer's enrollment in the approved net terms offer.
See #fetchCustomer for more details.
Note: the response to a POST /credit-check
request could take up to 30 seconds.
Except for instant decisions, a decision should be reflected on the Customer entity within 1 business day.
Request a credit check for a customer
An object representing the customer.
Bad request error
Unauthorized error
Not found error
Credit check already created for this customer
Rate limit error
{- "amount_requested": 50000,
- "business_description": "Put a description your customer's business here.",
- "has_purchase_history": true,
- "has_purchase_terms_history": false
}
{- "id": "PMMlaE5wbg0",
- "created_at": "2020-01-01T00:00:00.750Z",
- "updated_at": "2020-01-01T00:00:00.750Z",
- "source": "MERCHANT_USER",
- "business_address": "111 Main Street",
- "business_city": "San Francisco",
- "business_state": "CA",
- "business_zip": "94104",
- "business_country": "US",
- "business_age_range": "5-10",
- "business_ap_email": "ap@example.com",
- "business_ap_phone": "(202) 456-1414",
- "business_ap_phone_extension": "123",
- "business_name": "Example, Inc.",
- "business_trade_name": "Example Trading Company",
- "business_phone": "(202) 456-1414",
- "business_type": "corporation",
- "email": "user@example.com",
- "personal_name_first": "James",
- "personal_name_last": "Bond",
- "personal_phone": "(202) 456-1414",
- "amount_approved": 10000,
- "amount_authorized": 10000,
- "amount_available": 10000,
- "amount_balance": 2000,
- "amount_unapplied_payments": 1000,
- "default_terms": "net7",
- "advance_rate": 0.75,
- "credit_status": "approved",
- "net_terms_status": "enrolled",
- "net_terms_enrollment_url": "www.app.resolvepay.com/merchant-id/activate/123456",
- "net_terms_enrollment_expires_at": "2020-01-01T00:00:00.750Z",
- "credit_check_requested_at": "2020-01-01T00:00:00.750Z",
- "archived": false,
- "duns_number": "00-123-4567",
- "credit_decisions": [
- {
- "id": "abc123",
- "created_at": "2020-01-01T00:00:00.750Z",
- "decision": "approved",
- "amount": 10000,
- "advance_rate": 0.75,
- "decline_code": "no_business_found",
- "hold_code": "past_due"
}
]
}
An object with an array of Payouts up to the specified limit.
Bad request error
Unauthorized error
Rate limit error
{- "limit": 25,
- "page": 1,
- "results": [
- {
- "id": "PMMlaE5wbg0",
- "amount_gross": 120,
- "amount_fee": 20,
- "amount_net": 100,
- "status": "pending",
- "retry_payout_id": "PMMlaE5wbg0",
- "failed_at": "2022-09-06T03:08:37.508Z",
- "expected_by": "2022-09-06T03:08:37.508Z",
- "transactions_starting_at": "string",
- "transactions_ending_at": "string",
- "canceled_at": "2022-09-06T03:08:37.508Z",
- "created_at": "2022-09-06T03:08:37.508Z",
- "updated_at": "2022-09-06T03:08:37.508Z"
}
]
}
An object representing the created Payout.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "id": "PMMlaE5wbg0",
- "amount_gross": 120,
- "amount_fee": 20,
- "amount_net": 100,
- "status": "pending",
- "retry_payout_id": "PMMlaE5wbg0",
- "failed_at": "2022-09-06T03:08:37.508Z",
- "expected_by": "2022-09-06T03:08:37.508Z",
- "transactions_starting_at": "string",
- "transactions_ending_at": "string",
- "canceled_at": "2022-09-06T03:08:37.508Z",
- "created_at": "2022-09-06T03:08:37.508Z",
- "updated_at": "2022-09-06T03:08:37.508Z"
}
Payout Transactions are the individual transactions like customer payments, Resolve advances, forwarded payments, etc. that are rolled into a Payout. Each Payout is the sum of one or more transactions. Note that certain fields are only relevant to certain transaction types - e.g.: a Payout Transaction of type monthly_fee
will have both customer_id
and invoice_id
set to null
.
An object with an array of results containing up to the limit. If no payout transactions are found, the results array will be empty.
Bad request error
Unauthorized error
Rate limit error
{- "limit": 25,
- "page": 1,
- "results": [
- {
- "id": "AOncfxMnm",
- "payout_id": "gQxGLAowY",
- "type": "advance",
- "customer_id": "voArW2nSs",
- "customer_name": "Test name",
- "invoice_id": "C2vBqxfZ4",
- "invoice_number": "R334-097R",
- "order_id": "u5WRraCYY",
- "po_number": "PO-09785",
- "amount_gross": 100,
- "amount_fee": 3,
- "amount_net": 97,
- "created_at": "2022-09-06T03:08:37.508Z",
- "updated_at": "2022-09-06T03:08:37.508Z"
}
]
}
An object representing the created Payout Transaction.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "id": "AOncfxMnm",
- "payout_id": "gQxGLAowY",
- "type": "advance",
- "customer_id": "voArW2nSs",
- "customer_name": "Test name",
- "invoice_id": "C2vBqxfZ4",
- "invoice_number": "R334-097R",
- "order_id": "u5WRraCYY",
- "po_number": "PO-09785",
- "amount_gross": 100,
- "amount_fee": 3,
- "amount_net": 97,
- "created_at": "2022-09-06T03:08:37.508Z",
- "updated_at": "2022-09-06T03:08:37.508Z"
}
A payment represents a transaction where a customer pays towards their invoices. When a payment is made to Resolve, the customer's available credit balance is increased by the amount of the payment. Payments can be made via various methods including ACH, credit card, check, or wire transfer. Each payment can be applied to one or more invoices.
Retrieve an existing payment by its ID.
An object representing a payment.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "id": "PMMlaE5wbg0",
- "customer_id": "X50sgfRd",
- "source": "customer_user",
- "amount": 1000,
- "method": "ach_debit",
- "status": "paid",
- "created_at": "2020-01-01T00:00:00.730Z",
- "paid_at": "2020-01-02T00:00:00.730Z",
- "canceled_at": null,
- "failed_at": null,
- "processed_at": "2020-01-01T12:00:00.730Z",
- "scheduled_at": null,
- "processing_fee": 25.5,
- "canceled_code": null,
- "failed_code": null,
- "payment_links": [
- {
- "record_id": "PMMlaE5wbg0",
- "record_type": "invoice",
- "amount": 500
}
], - "created_by_user_id": null
}
Create a new credit note.
Issue a credit note for an invoice.
An object containing the status of the credit note creation request.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "invoice_id": "PMMlaE5wbg0",
- "amount": 2000,
- "number": "CN-001",
- "reason_code": "reason_code",
- "reason_message": "reason_message",
}
{- "status": "pending"
}
Retrieve an existing credit note by its ID.
An object containing the credit note details.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "id": "CNMlaE5wbg0",
- "source": "MERCHANT_USER",
- "customer_id": "X50sgfRd",
- "merchant_id": "MER456789",
- "invoice_id": "PMMlaE5wbg0",
- "created_by_user_id": "USR123456",
- "number": "CN-001",
- "amount": 1000,
- "amount_balance": 500,
- "amount_paid": 500,
- "amount_voided": 0,
- "amount_payout": 1000,
- "amount_payout_balance": 500,
- "amount_payout_paid": 500,
- "reason_code": "requested_by_customer",
- "reason_message": "Customer returned damaged goods",
- "voided": false,
- "voided_at": null
}
A shipment represents the fulfillment of goods or services for an invoice. Track shipments to monitor delivery status and fulfillment progress. Shipments can be fulfilled through various methods including shipping providers, self-delivery, customer pickup, or for services-only transactions.
While any courier value can be accepted for the shipment_courier
field, instant verification through the sync endpoint is supported for the following couriers:
fedex
- FedEx®ups
- UPSusps
- USPSdhl
- DHL Expressdhl-api
- DHLfedex
, ups
, usps
, 17postservice
, 2go
, 2ebox
, 360lion
, 3jmslogistics
, 4-72
, 4px
, shipstoresoftware-webhook
, 99minutos
, aduiepyle
, a1post
, a2b-ba
, aaa-cooper
, abf
, acilogistix
, acscourier
, acsworldwide
, ads
, adsone
, aex
, afllog-ftp
, arihantcourier
, air21
, aitworldwide-sftp
, aitworldwide-api
, alljoy
, amsegroup
, ancdelivers-sftp
, anserx
, ao-deutschland
, ao-courier
, ao-courier-webhook
, apc-overnight
, apc-overnight-connum
, apc
, apg
, ark-logistics
, ase
, asigna
, asm
, ata
, atshealthcare
, atshealthcare-reference
, activos24-api
, aderonline
, adicional
, aeronet
, test-courier
, agediss-sftp
, agility
, airmee-webhook
, airpak-express
, airspeed
, allegro
, alliedexpress
, allied-express-ftp
, alphafreight-webhook
, always-express
, amazon
, awest
, an-post
, andreani-api
, anicamboxexpress
, anjun
, anteraja
, aoyue
, aquiline
, aramex
, aramex-api
, fastway-au-api
, fastway-au
, araskargo
, arco-spedizioni
, argents-webhook
, arrow-api
, arrowxl
, asendia-de
, asendia-hk
, asendia
, asendia-uk
, asendia-usa
, agsystems
, associated-couriers
, asyadexpress
, auexpress
, australia-post
, australia-post-api
, austrian-post
, austrian-post-registered
, averitt
, axlehire
, axlehire-ftp
, bh-worldwide
, b2ceurope
, bdmnet
, bjshomedelivery
, bjshomedelivery-ftp
, brt-it
, brt-it-api
, brt-it-parcelid
, brt-it-sender-ref
, btxglobal-ftp
, buffalo
, barqexp
, barsan
, belpost
, ibeone
, bert-fr
, 800bestex
, besttransport-sftp
, bestwayparcel
, bettertrucks
, bigsmart
, biocair-ftp
, birdsystem
, bleckmann-sftp
, blinklastmile
, bluex
, bluestar
, bluecare
, bluedart-api
, bluedart
, bneed
, bollore-logistics-sftp
, bollore-logistics
, bombinoexp
, bomi-br-api
, bomi
, bond
, bondscouriers
, borderexpress
, borderless360-webhook
, boxc
, box-berry
, boxcheck-api
, bpost
, bpost-api
, bpost-international
, braspress-web
, braunsexpress
, brazil-correios
, bring
, bringer
, brouwer-transport
, budbee-webhook
, bgpost
, burd
, cchezvous-sftp
, cae-delivers
, cbl-logistica
, cbl-logistica-api
, cdek
, cdek-tr
, cdldelivers
, cdldelivers-api
, ceva
, ceva-webhook
, ceva-tracking
, cfl-logistics
, cgs-express
, parcll
, cj-malaysia-international
, cj-gls
, cj-korea-thai
, cjlogistics
, cj-hk-international
, cjpacket
, cj-philippines
, ckb-webhook
, cle-logistics
, cn-logistics
, cnexps
, crlexpress
, cse
, ctc-express
, tourline
, cacesa
, cago
, cainiao
, cambodia-post
, canada-post
, canpar
, capital
, cpex
, cargopartner-api
, carriers
, carry-flap
, castleparcels
, celeritas-ftp
, cello-square
, champion-logistics
, chazki
, chienventure-webhook
, chilexpress-webhook
, china-ems
, china-post
, chitchats
, choirexpress
, chronopost-france-webhook
, chronopost-france
, chronopost-portugal
, ec-firstclass
, city56-webhook
, citylinkexpress
, clevy-links
, clicklink-sftp
, cloudwish-asia
, colis-prive
, colissimo
, collectplus
, collectco
, com1express
, comet-tech
, con-way
, concise-api
, concise-webhook
, continental
, coordinadora
, coordinadora-api
, copa-courier
, cope
, corporatecouriers-webhook
, correo-uy
, correosexpress
, correosexpress-api
, spain-correos-es
, correos-de-mexico
, costmeticsnow
, courant-plus
, courant-plus-api
, courierit
, cnwglobal-api
, courier-plus
, courierpost
, couriers-please
, croshot
, crossflight
, cryopdp-ftp
, cubyn
, cuckooexpress
, cyprus-post
, ceskaposta
, ceskaposta-api
, dexpress-webhook
, dachser-web
, dachser
, daiglobaltrack
, dao365
, dbschenker-se
, dbschenker-api
, dbschenker-b2b
, dbschenker-iceland-ftp
, dbschenker-sv
, ddexpress
, deliveryontime
, dex-i
, dhl-api
, dhl-reference-api
, dhl-active-tracing
, dhl-benelux
, dhl-sftp
, dhl
, dhl-pieceid
, dhl-freight
, dhl-pa-api
, dhl-global-forwarding-api
, dhl-gt-api
, dhl-ecommerce-gc
, dhl-ecommerce-gc-api
, dhl-hk
, dhl-ie-sftp
, dhl-nl
, dhlparcel-nl
, dhlparcel-ru
, dhlparcel-es
, dhlparcel-uk
, dhl-poland
, dhl-es-sftp
, dhl-es
, dhl-supplychain-apac
, dhl-supply-chain-au-sftp
, dhl-supply-chain-au
, dhl-supplychain-id
, dhl-global-mail-asia
, dhl-global-mail-asia-api
, dhl-global-mail
, dhl-global-mail-api
, dhl-supplychain-in
, didadi
, dirmensajeria
, dksh
, dmfgroup
, dms-matrix
, dnj-express
, domino
, dpd
, dpd-api
, dpd-at
, dpd-at-sftp
, exapaq
, dpd-de
, dpd-hk
, dpd-hungary-web
, dpd-hungary-ftp
, dpd-hungary
, dpd-ireland
, interlink-express
, interlink-express-reference
, dpd-nl-api
, packs-api
, dpd-nl
, dpd-poland
, dpd-prt
, dpd-ro
, dpd-ru-api
, dpd-ru
, dpd-sk-sftp
, dpd-ch-sftp
, dpd-uk
, dpd-uk-sftp
, dpe-express
, dpe-za
, dpex
, szdpex
, dsv-za-sftp
, dsv
, dsv-reference
, dsv-are-webhook
, dtd
, dtdc-au
, dtdc-express
, dtdc
, dx
, dx-sftp
, dx-b2b-connum
, dx-freight
, daeshin
, daiichi
, danniao
, danske-fragt
, dashlink-webhook
, dawnwing
, dayross
, dylt
, dayton-freight
, dealer-send
, delhivery-webhook
, delhivery
, deliveryourparcel-za
, deliver-it
, smartkargo
, deliveright-webhook
, deliverr-sftp
, delnext
, deltec-courier
, godependable
, designertransport-webhook
, destiny-ftp
, destiny
, destiny-webhook
, detrack
, detrack-webhook
, dhl-germany
, deutsch-post
, dialogo-logistica-api
, dialogo-logistica
, diamondcouriers
, dimerco
, directcouriers
, directcouriers-ftp
, directfreight-au-ref
, directlog
, direx
, discountpost
, emega
, dobropost
, doordash-webhook
, doora
, dynamic-logistics
, ecms
, ecoscooting
, ecexpress
, efs
, elta-courier
, empsexpress
, ems
, eu-fleet-solutions
, myhermes-uk
, myhermes-uk-api
, ewe
, expressone
, expressone-sv
, earlybird
, eastwestcourier-ftp
, easy-mail
, easyroutes
, easyparcel
, ecargo-asia
, echo
, ecofreight
, ecom-express
, ekart
, ekol-api
, elite-co
, emirates-post
, endeavour-delivery
, energologistic
, envialia
, envialia-reference
, equick-cn
, eshipping
, zes-express
, estafeta
, estafeta-api
, estes
, efwnow-api
, etomars
, edf-ftp
, eurodis
, europaket-api
, exelot-ftp
, expeditors
, expeditors-api-ref
, expresssale
, fan
, far-international
, fdsexpress
, fercam
, fmx
, frontdoorcorp
, fujexp
, fargood
, fnf-za
, fastdespatch
, fastbox
, fastrak-th
, fastship
, fasttrack
, aramex-au-api
, fastway-ireland
, fastway-nz
, fastway-za
, faxecargo
, fetchr
, fiege
, fiege-nl
, first-flight
, first-logistics-api
, firstmile
, fitzmark-api
, flashexpress
, flashexpress-webhook
, flashexpress-ph-api
, fleetopticsinc
, flightlg
, flipxp
, fliway-sftp
, fliway-api
, flytexpress
, fonsen
, forwardair
, fragilepak-sftp
, freightquote
, freterapido
, fukuyama-sftp
, fulfilla
, fulfillmen
, furdeco
, gwlogis-api
, gac-webhook
, gangbao
, gba
, gbs-broker
, gcx
, gdex
, gdpharm-webhook
, gdpharm
, gemworldwide
, geodis-api
, geodis-sftp
, geodis-calberson-fr
, geswl
, gio-ecourier-api
, gio-ecourier
, gls
, gls-croatia
, gls-cz
, gls-slovakia
, gls-hun-api
, gls-hun
, gls-italy-ftp
, gls-italy
, dicom
, gls-netherlands
, gls-netherlands-webhook
, gls-netherlands-sftp
, gls-romania
, gls-slovenia
, gls-spain
, gls-spain-api
, gls-us
, gols
, gps
, gsi-express
, gso
, gtagsm
, gati-kwe
, gati-kwe-api
, gw-world
, geis
, gel-express
, taxydromiki
, geodis-usa-api
, gpost
, ghn
, goglobalpost
, globaltranz
, globavend
, globegistics
, glovo
, general-overnight
, general-overnight-ftp
, gopeople
, gorush
, gobolt
, gojavas
, gojek-webhook
, grab-webhook
, grandslamexpress
, greyhound
, mazet
, grupoampm
, andreani
, hct-logistics
, hfd
, hkd
, hrparcel
, hermes-it
, hsdexpress
, hsm-global
, htdkgroup-webhook
, yycom
, hubbed
, hx-express
, hdb
, hdb-box
, hanjin
, hellenic-post
, hellmann
, helthjem
, helthjem-api
, heppner-fr
, heppner
, hermes-2mann-handling
, hermes-de
, hermes-de-ftp
, hermes-uk-sftp
, hermes
, heroexpress
, hipshipper
, holisol
, home-delivery-solutions
, homelogistics
, hong-kong-post
, houndexpress
, hrvatska-posta
, hh-exp
, huantong
, hunter-express-sftp
, hunter-express
, huodull
, ibventure-webhook
, icscourier
, idexpress
, iml
, imxmail
, indopaket
, intersmarttrans
, intex-de
, iordirect
, postur-is
, ilyanglogis
, inpost-uk
, inpost-paczkomaty
, intime-ftp
, india-post
, india-post-int
, inexpost
, nox-nachtexpress
, nox-nachtexpress-ftp
, descartes
, inntralog-sftp
, instabox-webhook
, integra2-ftp
, intel-valley
, intelcom-ca
, intelipost
, international-seur
, international-seur-api
, intexpress
, interparcel-au
, interparcel-nz
, interparcel-uk
, israel-post
, israel-post-domestic
, italy-sda
, ivoy-webhook
, jtcargo
, jtexpress
, jtexpress-ph
, jtexpress-sg-api
, simplypost
, jtexpress-vn
, j-net
, jamef-web
, jcex
, jd-worldwide
, jinsung
, jne
, jne-api
, bh-posta
, js-express
, jx
, jam-express
, janco
, janio
, japan-post
, javit
, jawar
, jayonexpress
, jersey-post
, jet-ship
, ltianexp
, jocom
, joom-logistics
, joyingbox
, jumppoint-api
, jumppoint
, k1-express
, kec
, abxexpress-my
, kgmhub
, kurasi
, kwe-global
, kangaroo-my
, kargomkolay
, kedaex
, kerryttc-vn
, tgx
, kerry-express-tw-api
, kerry-logistics
, kerry-express-th-webhook
, kerrytj
, kerry-ecommerce
, kng
, logisystems-sftp
, kinisi
, kiwi-express-webhook
, kolay-gelsin
, komon-express
, kpost
, korea-post
, kronos-webhook
, kronos
, ky-express
, kn
, kdexp
, lbcexpress-ftp
, lbcexpress-api
, lctbr-api
, lht-express
, liccardi-express
, liefergrun
, lmparcel
, ltl
, la-poste-colissimo
, lalamove-api
, lalamove
, lalamove-plus-api
, landmark-global-ftp
, landmark-global
, lao-post
, lasership-api
, lasership
, latvijas-pasts
, leader
, legion-express
, leman
, lexship
, lietuvos-pastas
, line
, linkbridge
, lion-parcel
, livrapide
, locus-webhook
, loggi
, logisters
, lwe-hk
, logoix
, logwin-logistics
, logysto
, lonestar
, loomis-express
, lotte
, luwjistik
, m-xpress
, mx-cargo
, m24logistics-webhook
, m3logistics
, mbw
, collivery
, metabrasil-webhook
, misumi-cn
, mng-kargo
, mnx
, mrw-spain
, mrw
, mrw-ftp
, mudita
, madrooex
, maergo
, magyar-posta-api
, mail-box-etc
, mailamericas
, mailplus
, mailplus-jp
, mainfreight
, mainway
, malaysia-post-posdaftar
, malaysia-post
, malca-amit-api
, malca-amit
, marken
, matdespatch
, matkahuolto
, medafrica
, meest
, fetchr-webhook
, mensajerosurbanos-api
, mwd-api
, mwd
, aeroflash
, mexico-redpack
, mexico-senda-express
, mhi
, mikropakket
, mikropakket-be
, milkman
, mobi-br
, mobiletyreshop-webhook
, mondialrelay
, mondialrelay-fr
, mondialrelay-es
, moova-webhook
, moovin
, morelink
, morning-express
, morninglobal
, mothership-api
, movianto
, multientregapanama
, mydynalogic
, nmtransfer
, nacex
, nacex-spain-reference
, nacex-spain
, nox-night-time-express
, ntilogistics-ftp
, ntl
, nytlogistics
, new-zealand-post
, naeko-ftp
, nanjingwoyuan
, naqel-express
, national-sameday
, nationex
, nationex-ftp
, nationwide-my
, navlungo
, netlogixgroup
, newzealand-couriers
, neweggexpress
, newgistics
, newgisticsapi
, nhans-solutions
, ntlogistics-vn
, nipost
, nightline
, nim-express
, nimbuspost
, ninjavan
, ninjavan-id
, ninjavan-my
, ninjavan-thai
, ninjavan-vn
, ninjavan-webhook
, nippon-express-ftp
, nippon-express
, norsk-global
, northline
, nova-poshta
, nova-poshtaint
, nova-poshta-api
, novofarma-webhook
, oca-ar
, ocs
, ocs-worldwide
, omlogistics-api
, osm-worldwide-sftp
, osm-worldwide
, otschile
, oakh
, obibox
, okayparcel
, old-dominion
, shopolive
, omniparcel
, omnirps-webhook
, omniva-api
, omniva
, onway-webhook
, ontrac
, ontrac-api
, oneworldexpress
, oneclick
, optimacourier
, orangeconnex
, orangeconnex-ftp
, orangedsinc
, orangedsinc-ftp
, overseas-hr
, ozeparts-shipping
, p2p-delivery-api
, trakpak
, packfleet
, palexpress
, parcelone
, pfcexpress
, pflogistics
, pflogistics-ftp
, phse-api
, pickupp-mys
, pickupp-sgp
, piggyship
, pil-logistics
, pittohio
, taqbin-taiwan
, mglobal
, pts
, ptt-kargo
, ptt-posta
, paack-webhook
, pack-up
, packaly
, packeta
, packlink
, packs
, paikeda
, pakajo
, palletways
, pan-asia
, pandago-api
, pandago-ph-api
, pandion
, pandulogistics
, panther
, panther-order-number
, panther-reference
, panther-reference-api
, papa-webhook
, paper-express
, paquetexpress
, parcalogistics-webhook
, parcalogistics-api
, pdn-api
, portless-api
, parcel-force
, parcelpost-sg
, parcelright
, parceltopost
, parcel2go
, parcelpal-webhook
, parcelpoint
, parcelinklogistics
, parcelled-in
, parcelstars-webhook
, parcelstars
, parknparcel
, passportshipping
, patheon
, ppbyb
, payo
, payo-webhook
, pgeon-api
, pickrr
, pickup
, pidge
, pilot-freight
, pitney-bowes
, planzer
, plycongroup
, poczta-polska
, polarspeed
, pony-express
, porterex-webhook
, portugal-ctt
, portugal-seur
, pos-indonesia
, postone
, post-serbia
, post-slovenia
, post56
, postnl
, postnl-international
, postnl-3s
, danmark-post
, postnord
, sweden-posten
, postplus
, postaplus
, poste-italiane
, poste-italiane-paccocelere
, posten-norge
, posti
, posti-api
, posta-romana
, pressiode
, procarrier
, promeddelivery
, productcaregroup-sftp
, professional-couriers
, ppl-api
, ppl
, purolator
, purolator-api
, purolator-international
, qtrack
, quantium
, qintl-api
, airterra
, quiqup
, quiqup-webhook
, qwintry
, qxpress
, raf
, ramgroup-za
, ets-express
, rl-carriers
, rpd2man
, rpm
, rpxlogistics
, rpxonline
, rxo-api
, rzyexpress
, raben-group
, raiderex
, ransa-webhook
, rcl
, redjepakketje
, redur-es
, relaiscolis
, rendr-webhook
, returnmates-webhook
, rhenus-group
, rhenus-uk-api
, rhenus-uk
, rincos
, air-canada-global
, air-canada
, rixonhk-api
, roadbull
, roadrunner-freight
, roche-internal-sftp
, rocketparcel
, routific-webhook
, royal-mail
, royal-mail-ftp
, royal-mail-webhook
, royalshipments
, russian-post
, ruston
, sailpost
, sap-express
, sekologistics
, seko-sftp
, showl
, sf-express-api
, sf-express
, sf-express-cn
, sfb2c
, sfc
, sfcservice
, sglink
, hotsin-cargo
, shipa
, shipter
, shipxpres
, shreenandancourier
, shreetirupati
, signia-ftp
, signialogistics-sftp
, skybox
, smartcat
, smsa-express
, smsa-express-webhook
, speedex
, spflylogistica-webhook
, spoton
, sprint-pack
, srekorea
, srt-transport
, starken
, stepforwardfs
, sto
, stone3pl
, szendex
, safexpress
, sagawa-api
, sagawa
, saia-freight
, sassy-api
, saudi-post
, sberlogistics-ru
, scotty
, scudex-express
, secretlab-webhook
, seino
, seino-api
, sendeo-kargo
, sending
, sendit
, sendle
, sendy
, nowlog-api
, servip-webhook
, servientrega
, setel
, shadowfax
, dajin
, ydex
, kwt
, sherpa
, sherpa-webhook
, ship-it-asia
, shipentegra
, shipgate
, shipglobal-us
, shipx
, shipx-api
, shippie
, shippify
, shippit
, shiprocket
, spx
, spx-th
, shopfans
, shreeanjanicourier
, shree-maruti
, shunbang-express
, shyplite
, simpletire-webhook
, simsglobal
, singlobal-express
, singapore-post
, singapore-speedpost
, sinotrans
, siodemka
, skelton-sftp
, skyking
, skyexpress-international
, skyexpressinternational
, skynet
, skynetworldwide
, skynetworldwide-uae
, sky-postal
, skynet-za
, skynetworldwide-uk
, sk-posta
, smooth
, sntglobal-api
, sonictl
, thenile-webhook
, sapo
, sefl
, smtl
, spanish-seur
, spanish-seur-ftp
, spanish-seur-api
, specialisedfreight-za
, spectran
, spedisci
, speedee
, speedcouriers-gr
, speedx
, speedy
, speedaf
, spreetail-api
, spring-gds
, stallionexpress
, star-track-courier
, star-track-express
, star-track
, star-track-webhook
, starlinks-api
, statovernight
, stop-start-api
, streck-transport
, sypost
, superpackline
, surat-kargo
, sutton
, swiship
, swiship-jp
, swiss-post
, swiss-post-ftp
, swiss-universal-express
, loginext-webhook
, t-cat
, t-cat-api
, taqbin-hk
, tasco-my-webhook
, tck-express
, tcs-api
, tcs
, thedeliverygroup
, tdn
, tfm
, tforce-finalmile
, tigfreight
, tipsa
, tnt
, tnt-au
, tntbrasil-web
, tnt-fr
, tnt-fr-reference
, tnt-it
, tnt-reference
, tnt-uk
, tnt-uk-reference
, tnt-click
, tarrive
, thaiparcels
, trumpcard
, tvsscs-webhook
, typ
, global-express
, taiwan-post
, tamergroup-webhook
, tazmanian-freight
, teamexpressllc
, toll-priority
, team-global-express-webhook
, teleport-webhook
, sic-teliway
, testing-courier
, thabit-logistics
, thailand-post
, thecourierguy
, customco-api
, pallet-network
, thijs-nl
, thunderexpress
, tiki
, tipsa-api
, tipsa-ref
, toll-ipec
, toll-nz
, tolos
, tomydoor
, tonami-ftp
, esdex
, topyou
, tophatterexpress
, toshi-webhook
, total-express-api
, total-express
, tourline-reference
, trackon
, trans-kargo
, trans2u
, transmission-nl
, transvirtual
, transpak
, tanet
, trunkrs-webhook
, trunkrs
, trusk
, tuffnells
, tuffnells-reference
, tusklogistics
, u-envios
, ubi-logistics
, ucs
, uk-mail
, ucfs-api
, usf-reddaway
, uber-webhook
, ukrposhta
, uds
, urb-it
, courex
, urbify
, urgent-cargus
, virtransport
, viwo
, vox
, value-webhook
, veho-webhook
, venipak
, vesyl
, vesyl-api
, viaeurope
, viaxpress
, vtfe
, vnpost
, vnpost-api
, viettelpost
, virtransport-sftp
, wooyoung-logistics-sftp
, wspexpress
, wahana
, wanbexpress
, weworldexpress
, wedo
, wepost
, weship-api
, weship
, weaship
, welivery
, shipwestgate
, whistl
, wineshipping
, wineshipping-webhook
, wise-express
, wiseloads
, wishpost
, wizmo
, worldcourier
, worldnet
, xdp-uk
, xdp-uk-reference
, xgs
, xl-express
, xpo-logistics
, xpo-fr-api
, xq-express
, xde-webhook
, xindus
, xyy
, xpedigo
, xpert-delivery
, xpost
, xpressbees
, xpressen-dk
, yamato-tw-api
, ydh-express
, yrc
, yto
, yyexpress
, yakit
, taqbin-jp
, taqbin-sg-api
, taqbin-sg
, yanwen
, yifan
, elian-post
, yodel-api
, yodeldirect
, yodel
, yodel-international
, youparcel
, yunexpress
, yunant
, yundaex
, yunhuipost
, yurtici-kargo
, yusen-sftp
, yusen
, zjs-express
, zto-domestic
, zto-express
, zyou
, cndexpress
, zajil-express
, sfplus-webhook
, zeek
, zeleris
, ziingfinalmile
, zinc
, zoom-red
, zoom2u-webhook
, zuelligpharma-sftp
, acommerce
, alphafast
, cpacket
, chronodiali-webhook
, cnwangtong
, delivere
, e-courier-webhook
, ecoutier
, eparcel-kr
, epostglobal
, eshipper
, etotal
, etower
, fairsenden-api
, forrun
, gojek
, hepsijet
, i-dika
, i-parcel
, icumulus-webhook
, icumulus
, idexpress-id
, imile-api
, ithinklogistics
, liefery
, mysendle-api
, pack-man
, shopline
, solistica-api
, swe
, trans-o-flex-sftp
, transligue-web
, uparcel
, uship
, uc56
, wndirect
, xmszm
, ceska-posta
, winit
, jd-express
, jusdasr
, be
, padtf
, pchome-api
, 6ls
, yingnuo-logistics
, jindouyun
, sdh-scm
Note: Using unsupported courier values will still work but verification may be delayed or require manual processing.
An object with an array of Shipments up to the specified limit.
Bad request error
Unauthorized error
Rate limit error
{- "limit": 10,
- "page": 1,
- "count": 25,
- "results": [
- {
- "id": "ship_1234567890abcdef",
- "merchant_invoice_id": "inv_1234567890abcdef",
- "fulfillment_method": "shipping_provider",
- "shipment_tracking_number": "1Z123E45678901234",
- "shipment_courier": "ups",
- "aftership_id": "aftership_5b74f4958776db0e00b6f5ed",
- "data": { },
- "verification_status": "verified",
- "manually_verified_by_user_id": "user_1234567890abcdef",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T14:45:00Z"
}
]
}
Request body for creating a new shipment.
merchant_invoice_id required | string ID of the merchant invoice this shipment belongs to. |
fulfillment_method | string Default: "shipping_provider" Method of fulfillment for the shipment. Determines what additional fields are required:
|
shipment_tracking_number | string Tracking number (required when fulfillment_method is shipping_provider, optional otherwise). |
shipment_courier | string Shipping courier (required when fulfillment_method is shipping_provider, optional otherwise). While any value can be accepted, instant verification is supported for specific couriers. See the Shipments API documentation for the complete list of supported couriers. |
object (ShipmentFile) |
An object representing the Shipment.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "merchant_invoice_id": "inv_1234567890abcdef",
- "fulfillment_method": "shipping_provider",
- "shipment_tracking_number": "1Z123E45678901234",
- "shipment_courier": "ups",
- "file": {
- "size": 204800,
- "metadata": {
- "original_filename": "proof_of_delivery.pdf"
}
}
}
{- "id": "ship_1234567890abcdef",
- "merchant_invoice_id": "inv_1234567890abcdef",
- "fulfillment_method": "shipping_provider",
- "shipment_tracking_number": "1Z123E45678901234",
- "shipment_courier": "ups",
- "aftership_id": "aftership_5b74f4958776db0e00b6f5ed",
- "data": { },
- "verification_status": "verified",
- "manually_verified_by_user_id": "user_1234567890abcdef",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T14:45:00Z"
}
An object representing the Shipment.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "id": "ship_1234567890abcdef",
- "merchant_invoice_id": "inv_1234567890abcdef",
- "fulfillment_method": "shipping_provider",
- "shipment_tracking_number": "1Z123E45678901234",
- "shipment_courier": "ups",
- "aftership_id": "aftership_5b74f4958776db0e00b6f5ed",
- "data": { },
- "verification_status": "verified",
- "manually_verified_by_user_id": "user_1234567890abcdef",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T14:45:00Z"
}
Request body for updating an existing shipment.
merchant_invoice_id | string ID of the merchant invoice (must belong to the authenticated merchant). |
shipment_tracking_number | string Tracking number for the shipment. |
shipment_courier | string Shipping courier or provider name. While any value can be accepted, instant verification is supported for specific couriers. See the Shipments API documentation for the complete list of supported couriers. |
object (ShipmentFile) |
An object representing the Shipment.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "merchant_invoice_id": "inv_9876543210fedcba",
- "shipment_tracking_number": "1Z987F65432109876",
- "shipment_courier": "fedex",
- "file": {
- "size": 204800,
- "metadata": {
- "original_filename": "proof_of_delivery.pdf"
}
}
}
{- "id": "ship_1234567890abcdef",
- "merchant_invoice_id": "inv_1234567890abcdef",
- "fulfillment_method": "shipping_provider",
- "shipment_tracking_number": "1Z123E45678901234",
- "shipment_courier": "ups",
- "aftership_id": "aftership_5b74f4958776db0e00b6f5ed",
- "data": { },
- "verification_status": "verified",
- "manually_verified_by_user_id": "user_1234567890abcdef",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T14:45:00Z"
}
An object representing the Shipment.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "id": "ship_1234567890abcdef",
- "merchant_invoice_id": "inv_1234567890abcdef",
- "fulfillment_method": "shipping_provider",
- "shipment_tracking_number": "1Z123E45678901234",
- "shipment_courier": "ups",
- "aftership_id": "aftership_5b74f4958776db0e00b6f5ed",
- "data": { },
- "verification_status": "verified",
- "manually_verified_by_user_id": "user_1234567890abcdef",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T14:45:00Z"
}
Synchronizes shipment tracking information by fetching real-time data from the courier using the existing tracking number. This endpoint retrieves the latest tracking updates directly from the shipping provider and performs instant verification of the shipment status, ensuring that the shipment data is current and accurate.
An object representing the Shipment.
Bad request error
Unauthorized error
Not found error
Rate limit error
{- "id": "ship_1234567890abcdef",
- "merchant_invoice_id": "inv_1234567890abcdef",
- "fulfillment_method": "shipping_provider",
- "shipment_tracking_number": "1Z123E45678901234",
- "shipment_courier": "ups",
- "aftership_id": "aftership_5b74f4958776db0e00b6f5ed",
- "data": { },
- "verification_status": "verified",
- "manually_verified_by_user_id": "user_1234567890abcdef",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T14:45:00Z"
}