API v2 · OpenAPI 3.1.0

RevCent API

Connect applications, storefronts, internal tools, and AI agents directly to the RevCent operating layer through the V2 HTTP REST API.

API endpoint

https://api.revcent.com/v2

OpenAPI specification

Whitelist RevCent

34.224.171.255
52.3.146.218
54.174.155.188

RevCent MCP

Connect personal AI, IDEs, and external AI agents to RevCent. Read the MCP docs.

Core concepts

Authentication

Use your RevCent API key to make authenticated V2 API requests. Send the key in the x-api-key header of every request.

Use implementation-specific keys

Create separate API keys for each implementation instead of using the root keys created with your account.

Apply least privilege

Limit each key to only the API operations its integration needs. Keys may also be configured for test or live mode.

Authentication header
curl -G https://api.revcent.com/v2/customers \
  -H "x-api-key: YOUR_REVCENT_API_KEY" \
  -H "Accept: application/json"

Errors

The V2 API uses conventional HTTP status codes. Codes in the 2xx range indicate success, 4xx codes identify an issue with the request or payment, and 5xx codes indicate an unexpected RevCent error.

Use both the HTTP status and the response body’s code property when handling failures. Avoid displaying raw API responses directly to checkout visitors.

HTTPTypeMeaning
200SuccessThe request completed successfully.
400Request errorThe request is invalid or missing required data.
401UnauthorizedThe API key is missing, invalid, or disabled.
402Payment errorA payment failed because of a decline, gateway error, or fraud decision.
404Not foundThe requested RevCent entity does not exist.
429Rate limitedToo many requests were submitted in the allotted period.
500Server errorRevCent encountered an unexpected error.

Idempotent Requests

Safely retry POST requests without performing the same operation twice by providing an idempotency_key in the request object.

RevCent compares the value with keys submitted by the API account during the previous 24 hours. Use a unique value of 10–255 characters—V4 UUIDs are recommended.

Idempotent POST
curl -X POST https://api.revcent.com/v2/sales \
  -H "x-api-key: YOUR_REVCENT_API_KEY" \
  -H "Content-Type: application/json" \
  --data-raw '{
    "idempotency_key": "2c74f520-2b7f-44ea-a36a-d3d5d07a8834"
  }'

Filtering

List operations accept required pagination values and operation-specific filters. Consult each operation schema for its complete set of query parameters.

Required list parameters

date_start, date_end, limit, and page are required by list operations that use date ranges.

Multi-value filters

Submit the same query parameter more than once to filter against multiple values when the operation supports a multi-value filter.

Metadata

Use metadata_filter objects to match stored name/value pairs.

Customer-specific results

Use customer_id where supported to limit results to one customer.

Pagination

Pagination applies to GET operations that return multiple items. Reuse the original date range and limit while incrementing the page value.

Page information
{
  "current_count": 25,
  "current_page": 1,
  "results": [],
  "total_count": 79,
  "total_pages": 4
}
API reference

Operations

AI Assistants

An AI Assistant runs autonomously when triggered via events, on a schedule or on demand. RevCent handles the entire orchestration of an AI Assistant run, including providing the AI with all necessary information and context, running any tool calls and more. Use the API to get a list of AI Assistants, get a single AI Assistant, create an AI Assistant, edit an AI Assistant, delete an AI Assistant or trigger an AI Assistant.

Create An AI Assistant

POST/ai_assistants
Create a fully configured AI Assistant. Name, instructions, trigger settings, an AI integration and a valid flow are required, including when enabled is false. Configured disconnected flow nodes are allowed; incomplete node settings are not.
Permissionai_assistant:create

Edit An AI Assistant

POST/ai_assistants/{ai_assistant_id}
Edit a previously created AI Assistant using the AI Assistant ID. Only supplied fields are updated. Partial trigger updates are checked together with the current settings. Account-event filters are replaced when supplied.
Permissionai_assistant:edit

Trigger An AI Assistant

POST/ai_assistants/{ai_assistant_id}/trigger
Trigger a specific AI Assistant using the AI Assistant ID and trigger path. Triggering an AI Assistant will generate a unique AI Thread that will run autonomously. Note: You can only trigger an AI Assistant with a trigger setting of 'on_demand' using the API.
Permissionai_assistant:trigger

Delete An AI Assistant

POST/ai_assistants/{ai_assistant_id}/delete
Delete a specific AI assistant using the AI assistant ID and delete path.
Permissionai_assistant:delete

AI Memos

An AI Memo is created when an AI Assistant calls the AI Memo Create API method during the run of an AI Thread. Note: Only an AI Assistant can create an AI Memo. Use the API to get a list of AI Memos created during a specified date range, get a single AI Memo by ID or delete an AI Memo.

Get AI Memos

GET/ai_memos
Returns a paginated list of AI Memos. AI Memos are retained for a maximum of 7 days from creation.
The date_start, date_end, page and limit URL parameters are required. The difference between date_start and date_end cannot exceed a 7 day period.
Permissionai_memo:retrieve

Create An AI Memo

POST/ai_memos
Create an AI Memo. Note: Only an AI Assistant can create an AI Memo. An AI Memo is created when an AI Assistant calls the AI Memo Create API method during the run of an AI thread.
Permissionai_memo:create

Delete An AI Memo

POST/ai_memos/{ai_memo_id}/delete
Delete a specific AI Memo using the AI Memo ID and delete path.
Permissionai_memo:delete

Mark An AI Memo As Read

POST/ai_memos/{ai_memo_id}/mark_as_read
Mark a specific AI Memo as read using the AI Memo ID and mark as read path. This is operation is meant for keeping track of which AI Memos have already been reviewed manually, by AI or external systems. This operation should be conducted after retrieving the AI Memo via the GetAIMemo operation.
Permissionai_memo:mark_as_read

AI Prompts

An AI Prompt is a saved message intended for conversing with AI without having to manually retype a repetitive message. Use the API to get a list of AI Prompts created during a specified date range, get a single AI Prompt, create an AI Prompt, edit an AI Prompt or delete an AI Prompt.

Get AI Prompts

GET/ai_prompts
Returns a paginated list of AI Prompt IDs, names, and creation and update timestamps. Use GetAIPrompt to retrieve the prompt text.
The page and limit URL parameters are required.
Permissionai_prompt:retrieve

Delete An AI Prompt

POST/ai_prompts/{ai_prompt_id}/delete
Delete a specific AI Prompt using the AI Prompt ID and delete path.
Permissionai_prompt:delete

AI Threads

An AI Thread is created when an AI Assistant is triggered via API, account event or web app. Use the API to get a list of AI Threads created during a specified date range or get a single AI Thread by ID.

Get AI Threads

GET/ai_threads
Returns a paginated list of AI Threads without message content. Use GetAIThread to retrieve messages. AI Threads have a retention period of 45 days from creation.
The date_start, date_end, page and limit URL parameters are required. The date range may span at most two days (172800 seconds), including exactly two days; date_start is inclusive and date_end is exclusive. Limit is 1–25. Page is 0–20, with page 0 treated as page 1.
Permissionai_thread:retrieve

Cancel An AI Thread

POST/ai_threads/{ai_thread_id}/cancel
Cancel a specific AI thread using the AI thread ID and cancel path. The thread must have a status of Running or Timer.
Permissionai_thread:cancel

AI Voice Agents

An AI Voice Agent is a fully managed bi-directional voice communication between a human and AI. RevCent handles the orchestration and linking of a Twilio call to OpenAI's realtime API. You create the voice agent using the API, and RevCent handles both inbound and outbound calls. Use the API to get a list of AI Voice Agents, get a single AI Voice Agent, create an AI Voice Agent, edit an AI Voice Agent, delete an AI Voice Agent or trigger an AI Voice Agent.

Get AI Voice Agents

GET/ai_voice_agents
Retrieve a paginated list of AI Voice Agent configurations, including their instructions and settings.
The page and limit URL parameters are required.
Permissionai_voice_agent:retrieve

Get An AI Voice Agent

GET/ai_voice_agents/{ai_voice_agent_id}
Retrieve an AI Voice Agent configuration, including its instructions, enabled actions, trigger settings and integrations.
Permissionai_voice_agent:retrieve

Edit An AI Voice Agent

POST/ai_voice_agents/{ai_voice_agent_id}
Update an AI Voice Agent configuration. Include only the properties you want to change.
Permissionai_voice_agent:edit

Trigger An AI Voice Agent

POST/ai_voice_agents/{ai_voice_agent_id}/trigger
Trigger a specific AI Voice Agent using the AI Voice Agent ID and trigger path. Note: Only AI Voice Agents with a Call Method = 'Outbound' and Trigger = 'On Demand' can be triggered via API. Triggering an AI Voice Agent will immediately generate an outbound AI Voice Call that will dial the customer phone number associated with the item.
Permissionai_voice_agent:trigger

Delete An AI Voice Agent

POST/ai_voice_agents/{ai_voice_agent_id}/delete
Delete a specific AI voice agent using the AI voice agent ID and delete path.
Permissionai_voice_agent:delete

AI Voice Calls

An AI Voice Call is created when an AI Voice Agent is triggered via API, account event or inbound call. Use the API to get a list of AI Voice Calls created during a specified date range or get a single AI Voice Call by ID.

Get AI Voice Calls

GET/ai_voice_calls
Retrieve a paginated list of AI Voice Calls, including call outcomes, related resources and payment-attempt summaries.
The date_start, date_end, page and limit URL parameters are required. The difference between date_start and date_end cannot exceed a two (2) day period.
Permissionai_voice_call:retrieve

Get An AI Voice Call

GET/ai_voice_calls/{ai_voice_call_id}
Retrieve a specific AI Voice Call, including its outcome, related resources and payment-attempt summaries.
Permissionai_voice_call:retrieve

AI Voice Snippets

AI Voice Snippets are a subset of AI Voice Agent markdown instructions. AI Voice Snippets give you the ability to create re-usable content throughout multiple agents' instructions, and only modify the re-usable content in one place. Snippets should only be used where several voice agents share common instructions that are frequently changed. Use the API to get a list of AI Voice Snippets, get a single AI Voice Snippet, create a voice snippet, edit a voice snippet and delete a voice snippet.

Get AI Voice Snippets

GET/ai_voice_snippets
Retrieve a paginated list of AI Voice Snippets in your account, including their full content, ordered by creation time with the newest first.
The page and limit URL parameters are required.
Permissionai_voice_snippet:retrieve

Create An AI Voice Snippet

POST/ai_voice_snippets
Create an AI Voice Snippet, which will issue a unique AI Voice Snippet ID.
Permissionai_voice_snippet:create

Get An AI Voice Snippet

GET/ai_voice_snippets/{ai_voice_snippet_id}
Retrieve a specific AI Voice Snippet, including its full content.
Permissionai_voice_snippet:retrieve

Edit An AI Voice Snippet

POST/ai_voice_snippets/{ai_voice_snippet_id}
Edit a previously created AI Voice Snippet using the AI Voice Snippet ID. Only supplied fields are updated.
Permissionai_voice_snippet:edit

Delete An AI Voice Snippet

POST/ai_voice_snippets/{ai_voice_snippet_id}/delete
Delete a specific AI voice snippet using the AI voice snippet ID and delete path.
Permissionai_voice_snippet:delete

API Calls

An API call is created when a request is made to the API. All API requests have an associated API call, providing an audit mechanism to review past requests. Use the API to get a list of API calls created during a specified date range and get a single API call by ID.

Get API Calls

GET/api_calls
Retrieve a paginated list of recorded API calls, including their outcomes, timing and originating context, with the newest first. Use GetAPICall to retrieve an individual call's request, response and related items.
The date_start, date_end, page and limit URL parameters are required. The difference between date_start and date_end cannot exceed a two (2) day period.
Permissionapi_call:retrieve

Get An API Call

GET/api_calls/{api_call_id}
Retrieve a recorded API call, including its outcome, timing, available request and response data, and directly associated resources.
Permissionapi_call:retrieve

BigQuery

BigQuery is Google's serverless, highly scalable, and cost-effective multi-cloud data warehouse designed for business agility. RevCent's BigQuery integration allows you to run SQL queries on your RevCent data which is stored in BigQuery. Use the API to get a list of BigQuery tables with schemas, get a single BigQuery table by table name with schema and run a SQL query on your BigQuery tables.

Run A BigQuery Query

POST/bigquery
Run a BigQuery query on account data. Queries have a 30-second time limit. Use GetBigQueryTables to inspect available tables and their schemas.
Directly download all table schemas here.
Permissionbigquery:run_query

Get BigQuery Tables

GET/bigquery_tables
Retrieve all available BigQuery table schemas, including nested fields, for use with BigQueryRunQuery. All schemas are returned together; no query parameters are accepted.
Directly download all table schemas here.
Permissionbigquery_table:retrieve

Get A BigQuery Table

GET/bigquery_tables/{table_name}
Retrieve a BigQuery table schema to understand its fields before writing a query. This endpoint accepts no query parameters.
Permissionbigquery_table:retrieve

BIN Profiles

A BIN profile allows you to store a list of credit card BIN's, i.e. the first 6 of a credit card, for use in filtering, reporting and more. Use the API to get a list of BIN profiles, get a single BIN profile by ID, create a BIN profile, modify a BIN profile and delete a BIN profile.

Get BIN Profiles

GET/bin_profiles
List BIN profile summaries for your account, newest first. Use GetBinProfile with a profile ID to retrieve its BIN values. Only limit and page query parameters are accepted.
Permissionbin_profile:retrieve

Get A BIN Profile

GET/bin_profiles/{bin_profile_id}
Retrieve a BIN profile, including its saved BIN values. This endpoint accepts no query parameters.
Permissionbin_profile:retrieve

Edit A BIN Profile

POST/bin_profiles/{bin_profile_id}
Edit a previously created BIN Profile using the BIN Profile ID. Only supplied fields are updated.
Permissionbin_profile:edit

Delete A BIN Profile

POST/bin_profiles/{bin_profile_id}/delete
Delete a specific BIN profile using the BIN profile ID and delete path.
Permissionbin_profile:delete

Campaigns

A campaign is a way to organize and filter various items within your account. Use the API to get a list of campaigns created during a specified date range, get a single campaign by ID, create a campaign and modify a campaign.

Get Campaigns

GET/campaigns
List campaigns for your account, newest first. Only limit and page query parameters are accepted.
Page and limit URL parameters are required.
Permissioncampaign:retrieve

Create A Campaign

POST/campaigns
Create a campaign, which will issue a unique campaign ID.
Permissioncampaign:create

Get A Campaign

GET/campaigns/{campaign_id}
Retrieve a campaign and its available associated organizations. This endpoint accepts no query parameters.
Permissioncampaign:retrieve

Edit A Campaign

POST/campaigns/{campaign_id}
Edit a previously created campaign using the campaign ID.
Permissioncampaign:edit

Chargebacks

A chargeback is always associated with an existing credit card transaction within RevCent. Use the API to get a list of chargebacks created during a specified date range, get a single chargeback by ID, get chargebacks specific to a customer, create a chargeback, modify a chargeback and generate a chargeback document to fight a chargeback.

Get Chargebacks

GET/chargebacks
List chargebacks matching the supplied filters, newest first.
The date_start, date_end, page and limit query parameters are required. The date range may span at most 90 days, including exactly 90 days.
Permissionchargeback:retrieve

Create A Chargeback

POST/chargebacks
Create a chargeback. A chargeback must be associated with a previous credit card transaction. To associate a previous transaction use the transaction_id or gateway_transaction_id property within the request body for the transaction associated.
Permissionchargeback:create

Search Chargebacks

GET/chargebacks/search
Search chargebacks using a single term and retrieve up to ten matches ordered by relevance.
Use the id from a search result with GetChargeback to retrieve chargeback details. Search results are not paginated.
Permissionchargeback:search

Create an evidence document

POST/documents
Generate chargeback evidence for a sale or related transaction, shipment, fraud detection or chargeback. The response includes evidence as JSON and a URL to a Word document.
Permissiondocument:retrieve

Checks

A check is created during a sale with a check_direct payment type. Use the API to get a list of checks created during a specified date range, get a single check by ID and get checks specific to a customer. Note: If you wish to refund a check you instead refund the entity that the check is associated using either the VoidSale, RefundProductSale, RefundTax or RefundShipment operations.

Get Check Directs

GET/check_directs
Retrieve previously created checks, newest first.
date_start, date_end, page and limit are required. The date range may span up to 90 days (7,776,000 seconds), including that exact duration. Only pages 1 through 20 can be retrieved; page 0 is treated as page 1.
Permissioncheck_direct:retrieve

Get A Check Direct

GET/check_directs/{check_direct_id}
Retrieve one previously created check and its available related information using check_direct_id. This operation accepts no query parameters.
Permissioncheck_direct:retrieve

Coupons

Coupons and coupon profiles are created and managed in RevCent. A coupon is a single use or multi-use code that can be applied to a sale for a discount. A coupon profile are the properties of a coupon, such as revenue applications, customer limits and more.

Get Coupons

GET/coupons
Retrieve the account's available coupons, newest first.
Permissioncoupon:retrieve

Get A Coupon

GET/coupons/{coupon_id}
Retrieve one coupon and its available coupon-profile summary using coupon_id. This operation accepts no query parameters.
Permissioncoupon:retrieve

Edit A Coupon

POST/coupons/{coupon_id}
Edit the details of a specific coupon using the coupon ID. Only the fields provided in the request body will be updated. All other fields will remain unchanged.
Permissioncoupon:edit

Validate A Coupon Code

GET/coupons/validate
Check whether a coupon code is currently valid and retrieve its discount details when valid. This check does not consume or reserve a use or guarantee applicability to a particular checkout.
Permissioncoupon:validate

Delete A Coupon

POST/coupons/{coupon_id}/delete
Delete a specific coupon using the coupon ID and delete path. Not recommended for production use, as it will permanently delete the coupon, potentially affect reporting accuracy and cannot be undone. Use with caution.
Permissioncoupon:delete

Get Coupon Profiles

GET/coupon_profiles
Retrieve available coupon profiles, newest first. Only limit and page are accepted, and both are required.
Permissioncoupon_profile:retrieve

Create A Coupon Profile

POST/coupon_profiles
Create a Coupon Profile, which will issue a unique Coupon Profile ID.
Permissioncoupon_profile:create

Get A Coupon Profile

GET/coupon_profiles/{coupon_profile_id}
Retrieve one coupon profile and its available configured relationships using coupon_profile_id. This operation accepts no query parameters.
Permissioncoupon_profile:retrieve

Edit A Coupon Profile

POST/coupon_profiles/{coupon_profile_id}
Edit a previously created coupon profile using the coupon profile ID. Only supplied fields are updated.
Permissioncoupon_profile:edit

Delete A Coupon Profile

POST/coupon_profiles/{coupon_profile_id}/delete
Delete a specific coupon profile using the coupon profile ID and delete path.
Permissioncoupon_profile:delete

Customers

A customer is created directly using the API or during the creation of a sale. Use the API to get a list of customers created during a specified date range, get a single customer by ID, create a customer, modify a customer, enable or disable a customer, add a credit card to a customer, add a customer to a customer group, remove a customer from a customer group and search all customers.

Get Customers

GET/customers
Retrieve customer summaries matching a creation-date range and optional filters, newest first. Use GetCustomer for an individual customer’s details.
The date_start, date_end, page and limit URL parameters are required. The elapsed time between date_start and date_end must be less than 95 days (maximum 8,207,999 seconds).
Permissioncustomer:retrieve

Get A Customer

GET/customers/{customer_id}
Retrieve a customer’s details using the customer ID, including payment methods and limited selections of related activity.
If you do not have the customer ID, use the SearchCustomers > GetCustomer method. Search for a customer using the SearchCustomers operation using a search term, then use the id property within an individual search result with the GetCustomer operation. Important: If using the SearchCustomers > GetCustomer method within a public facing flow, i.e. a visitor is providing the search input in a public chat bot, it is highly recommended that you also verify the visitor is indeed the customer using a secondary non-provided value, such as the ZIP code in the GetCustomer response, before providing information or taking action.
Permissioncustomer:retrieve

Enable A Customer

POST/customers/{customer_id}/enable
Enable a specific customer using the customer ID and enable path.
Permissioncustomer:enable

Disable A Customer

POST/customers/{customer_id}/disable
Disable a specific customer using the customer ID and disable path.
Permissioncustomer:disable

Remove Customer From Group

POST/customers/{customer_id}/remove_from_group
Remove a customer from one or more customer groups.
Permissioncustomer:remove_from_group

Get customer payment methods

GET/customers/{customer_id}/payment_methods
Retrieve the customer’s available payment methods in one fixed page, newest first. Includes enabled and disabled methods. More than 1,000 methods causes a retrieval error. No query parameters are accepted; sensitive credentials and complete card or account numbers are never returned.
Permissioncustomer:retrieve

Add a payment method to a customer

POST/customers/{customer_id}/payment_methods
Adds a reusable payment method to an existing customer. Card payment methods are currently supported.
Permissioncustomer:add_payment_method

Get a customer payment method

GET/customers/{customer_id}/payment_methods/{payment_method_id}
Retrieve a specific reusable payment method associated with a customer, including disabled methods. No query parameters are accepted. Sensitive credentials and complete card or account numbers are never returned.
Permissioncustomer:retrieve

Delete a customer payment method

POST/customers/{customer_id}/payment_methods/{payment_method_id}/delete
Removes the selected customer payment method or legacy saved card from future use while preserving payment history. Repeating deletion of an already-deleted selection fails with HTTP 400 and error_code E1142. For card actions, the associated card and payment method are synchronized when both exist.
Permissioncustomer:delete_payment_method

Disable a customer payment method

POST/customers/{customer_id}/payment_methods/{payment_method_id}/disable
Disables the selected customer payment method or legacy saved card for future payments. This does not choose a new default. Repeating the action when already disabled succeeds. For card actions, the associated card and payment method are synchronized when both exist.
Permissioncustomer:disable_payment_method

Enable a customer payment method

POST/customers/{customer_id}/payment_methods/{payment_method_id}/enable
Enables the selected customer payment method or legacy saved card for future payments. Repeating the action when already enabled succeeds. For card actions, the associated card and payment method are synchronized when both exist.
Permissioncustomer:enable_payment_method

Set a default customer payment method

POST/customers/{customer_id}/payment_methods/{payment_method_id}/set_default
Sets the selected customer payment method or legacy saved card as the default for its payment-method category. This does not enable a disabled selection or change defaults in other categories. Repeating the action when already the default succeeds. For card actions, the associated card and payment method are synchronized when both exist.
Permissioncustomer:set_default_payment_method

Search Customers

GET/customers/search
Search existing customers using search_term, email or phone. Provide at least one nonblank value after trimming whitespace. Nonblank email or phone searches only that field and overrides search_term; when both are provided, both must match. Returns up to 10 relevance-ranked matches without pagination or a completeness guarantee. Use a result’s id with GetCustomer for customer details.
Useful for finding a customer when you do not know the customer ID and wish to retrieve the details of a specific customer. Once a customer has been found, use an individual search results' id property and the GetCustomer operation to retrieve the customer details. A recommended search term is the customer email address, or a combination of the first name, last name and zip code. Important: If using the SearchCustomers and GetCustomer method within a public facing flow, i.e. a visitor is providing the search input in a public chat bot, it is highly recommended that you also verify the visitor is indeed the customer using a secondary non-provided value, such as the ZIP code in the GetCustomer response, before providing information or taking action.
Permissioncustomer:search

Customer Groups

A customer group is a way to group customers based on unique and granular qualifiers. Use the API to get a list of customer groups, get a single customer group value by ID, create a customer group, modify a customer group and delete a customer group.

Get Customer Groups

GET/customer_groups
Retrieve the account's available customer groups and their saved qualification settings, newest first.
The page and limit URL parameters are required.
Permissioncustomer_group:retrieve

Get A Customer Group

GET/customer_groups/{customer_group_id}
Retrieve one customer group and its saved qualification settings using customer_group_id. This operation accepts no query parameters.
Permissioncustomer_group:retrieve

Edit A Customer Group

POST/customer_groups/{customer_group_id}
Edit a previously created customer group using the customer group ID. Only supplied fields are updated.
Permissioncustomer_group:edit

Delete A Customer Group

POST/customer_groups/{customer_group_id}/delete
Delete a specific customer group using the customer group ID and delete path.
Permissioncustomer_group:delete

Customer Portals

A customer portal is a way for customers to manage their account and subscriptions using a custom domain, including the ability to embed as an iframe on your existing stores' website. Use the API to get a list of customer portals, get a single customer portal by ID, create a customer portal, modify a customer portal and delete a customer portal.

Get Customer Portals

GET/customer_portals
Retrieve the account's available customer portals and their saved settings, newest first.
The page and limit URL parameters are required.
Permissioncustomer_portal:retrieve

Create A Customer Portal

POST/customer_portals
Create a Customer Portal, which will issue a unique Customer Portal ID. You will have the ability to embed the portal as an iFrame on your own website when properly configured with the same domain tracking domain associated. Note: A SMTP Profile, tracking domain and ReCaptcha must have been previously set up before creating a customer portal.
Permissioncustomer_portal:create

Edit A Customer Portal

POST/customer_portals/{customer_portal_id}
Edit a previously created Customer Portal using the Customer Portal ID. Only supplied fields are updated.
Permissioncustomer_portal:edit

Delete A Customer Portal

POST/customer_portals/{customer_portal_id}/delete
Delete a specific Customer Portal using the Customer Portal ID and delete path.
Permissioncustomer_portal:delete

Discounts

A discount is created during a sale that has a coupon code or a discount entry. Use the API to get a list of discounts created during a specified date range, get a single discount by ID and get discounts specific to a customer.

Get Discounts

GET/discounts
Retrieve a page of discounts matching the supplied filters, newest first. Supply the required date range, limit and page. When customer_id is provided, the date range is validated but does not restrict the returned discounts.
date_start, date_end, page and limit are required. The date range may span at most 90 days, including exactly 90 days. The start is inclusive and the end exclusive. Supplying customer_id bypasses date filtering, but both dates remain required and validated. Requests are limited to pages 1–20; page 0 is treated as page 1.
Permissiondiscount:retrieve

Get A Discount

GET/discounts/{discount_id}
Retrieve a specific discount and its available related summaries. No query parameters are accepted.
Permissiondiscount:retrieve

Documentation

Stored documentation is accessible via documentation search. Use a search term to find relevant documentation via vector search. Fetch returned documentation using the documentation result URL.

Search Documentation

GET/documentation/search
Search public documentation using a nonblank search term. Returns up to 20 document links in descending relevance order; fetch a returned URL to read the document. Results may be empty. Pagination and other query parameters are not supported. Authenticated API access is required; no documentation-specific permission is required.

Email Templates

An Email Template is used to send an email to one or more recipients and utilize handlebars syntax for dynamic content. Use the API to get a list of Email Templates, get a single Email Template, create an Email Template, edit an Email Template or delete an Email Template.

Get Email Templates

GET/email_templates
List available email templates, newest first, without their HTML bodies. Use GetEmailTemplate to retrieve a specific template and its HTML. Only enabled templates with template_trigger api_direct can be used with SendSMTPMessage. Supply limit and page; date ranges and other filters are not supported.
Permissionemail_template:retrieve

Get An Email Template

GET/email_templates/{email_template_id}
Retrieve an email template and its unrendered HTML when available. No query parameters are accepted. Only enabled templates with template_trigger api_direct can be used with SendSMTPMessage.
Permissionemail_template:retrieve

Edit An Email Template

POST/email_templates/{email_template_id}
Edit a previously created Email Template using the Email Template ID. Only supplied fields are updated.
Permissionemail_template:edit

Delete An Email Template

POST/email_templates/{email_template_id}/delete
Delete a specific email template using the email template ID and delete path.
Permissionemail_template:delete

Fulfillment

There are two different fulfillment entities in RevCent: the site fulfillment center and the user fulfillment account. A site fulfillment center is the third party fulfillment service with a global ID, not associated with a specific user. The user fulfillment account is an individual fulfillment account specific to a fulfillment service (site fulfillment center) which is notified when a shipment is created in RevCent. Shipments are created in RevCent when a shippable product(s) sold is associated with a user fulfillment account. The fulfillment service is notified of a shipment for it to be packaged and shipped. Use the API to get a list of site fulfillment centers, get a single site fulfillment center by ID, get a list of user fulfillment accounts, get a single user fulfillment account by ID, create a user fulfillment account and modify a user fulfillment account.

Get Fulfillment Accounts

GET/fulfillment_accounts
Retrieve a page of available fulfillment accounts, newest first. Use GetFulfillmentAccount to retrieve an individual account.
Only limit and page query parameters are supported, and both are required.
Permissionfulfillment_account:retrieve

Create A Fulfillment Account

POST/fulfillment_accounts
Create a Fulfillment Account, which will issue a unique Fulfillment Account ID.
Permissionfulfillment_account:create

Get A Fulfillment Account

GET/fulfillment_accounts/{fulfillment_account_id}
Retrieve a fulfillment account by its ID, including its available fulfillment provider summary. No query parameters are supported.
Permissionfulfillment_account:retrieve

Edit A Fulfillment Account

POST/fulfillment_accounts/{fulfillment_account_id}
Edit a previously created Fulfillment Account using the Fulfillment Account ID. Only supplied fields are updated.
Permissionfulfillment_account:edit

Delete A Fulfillment Account

POST/fulfillment_accounts/{fulfillment_account_id}/delete
Delete a specific fulfillment account using the fulfillment account ID and delete path.
Permissionfulfillment_account:delete

Get Site Fulfillment Centers

GET/site_fulfillment_centers
List available fulfillment-provider definitions and their configuration field descriptors. The complete catalog is returned in name-ascending order in one response. No query parameters are accepted.
Permissionsite_fulfillment_center:retrieve

Get A Site Fulfillment Center

GET/site_fulfillment_centers/{site_fulfillment_center_id}
Retrieve an available fulfillment-provider definition and its configuration field descriptors for use when configuring a Fulfillment Account. No query parameters are accepted.
Permissionsite_fulfillment_center:retrieve

Functions

A Function is a snippet of JavaScript code hosted and run by RevCent in a NodeJS environment. Use the API to get a list of Functions, get a single Function, create a Function, edit a Function, delete a Function or trigger a Function.

Create A Function

POST/functions
Create a Function, which will issue a unique Function ID. RevCent will provision a unique instance to handle the function's code execution securely in a sandboxed environment. After creating a Function, you can then edit the Function configuration, including the function code and dependencies, using the EditFunction operation with the newly created Function ID.
Permissionfunction:create

Edit A Function

POST/functions/{function_id}
Edit a previously created Function using the Function ID. Only supplied fields are updated.
Permissionfunction:edit

Delete A Function

POST/functions/{function_id}/delete
Delete a specific function using the function ID and delete path.
Permissionfunction:delete

Gateways

There are two different gateway entities in RevCent: the site gateway and the user gateway. A site gateway is the third party payment gateway with a global ID, not associated with a specific user. The user gateway is an individual MID, which is associated with a specific user and has an attached site gateway. Use the API to get a list of site gateways, get a single site gateway by ID, get a list of user gateways, get a single user gateway by ID, create a user gateway and modify a user gateway.

Get Site Gateways

GET/site_gateways
List available gateway-provider definitions and their configuration field descriptors for use when configuring User Gateways. The complete catalog is returned in name-ascending order in one response. No query parameters are accepted.
Permissionsite_gateway:retrieve

Get A Site Gateway

GET/site_gateways/{site_gateway_id}
Retrieve an available gateway-provider definition and its configuration field descriptors for use when configuring a User Gateway. No query parameters are accepted.
Permissionsite_gateway:retrieve

Get User Gateways

GET/user_gateways
Retrieve a page of account gateway configurations, including provider, gateway-group, routing and token settings. Results are ordered from newest to oldest, with stable ordering for equal creation times.
Permissionuser_gateway:retrieve

Create A User Gateway

POST/user_gateways
Create a payment gateway using a site gateway and its required credentials. The API key determines the live or test environment.
Permissionuser_gateway:create

Get A User Gateway

GET/user_gateways/{user_gateway_id}
Retrieve a specific account gateway configuration, including provider, gateway-group, routing and token settings. No query parameters are accepted.
Permissionuser_gateway:retrieve

Edit A User Gateway

POST/user_gateways/{user_gateway_id}
Update an existing payment gateway. Only supplied fields are updated. The API key determines the live or test environment.
Permissionuser_gateway:edit

Gateway Groups

A gateway group is used as an organizer for user gateways as well as within advanced payment routing. Use the API to get a list of gateway groups, get a single gateway group by ID, create a gateway group, modify a gateway group, add a user gateway to a gateway group and remove a user gateway from a gateway group.

Get Gateway Groups

GET/gateway_groups
Returns gateway groups and summaries of their available gateways, newest first. Gateway groups organize gateways for payment processing.
Permissiongateway_group:retrieve

Get A Gateway Group

GET/gateway_groups/{gateway_group_id}
Returns a gateway group and summaries of its available gateways. Gateway groups organize gateways for payment processing.
Permissiongateway_group:retrieve

Add Gateway To Group

POST/gateway_groups/{gateway_group_id}/add_user_gateway
Add one or more user gateways to a specific gateway group using the gateway group ID.
Permissiongateway_group:add_user_gateway

Delete A Gateway Group

POST/gateway_groups/{gateway_group_id}/delete
Delete an account-owned Gateway Group and remove it from payment routing. Static, dynamic, disabled and archived groups can be deleted. Its gateways remain available independently and are not deleted or disabled. Update payment profiles, projects and other configurations that reference the group; these are not automatically rewritten. Deletion and removal of gateway memberships succeed or fail together. Invalid, unavailable or already-deleted group IDs return an error; repeated deletion does not report another success.
Permissiongateway_group:delete

Remove Gateway From Group

POST/gateway_groups/{gateway_group_id}/remove_user_gateway
Remove one or more user gateways from a specific gateway group using the gateway group ID.
Permissiongateway_group:remove_user_gateway

Key Values

A Key Value is a unique key with a value associated with it. It is meant as a way to access saved values by key throughout your RevCent account. Use the API to get a list of key values, get a single key value, create a key value, edit a key value and delete a key value.

Delete A Key Value

POST/key_values/{key}/delete
Delete a key value using the key.
Permissionkey_value:delete

Metadata

Metadata is used to store name value pairs that can be used for reporting, filtering and more. Metadata names and associated values are stored when Revcent receives a transaction with metadata included in the payload or when RevCent tracking URL parameters are detected and saved for a tracking visitor. Use the API to get all saved metadata, get a metadata entry with saved values and insert metadata directly to an item.

Get Metadata

GET/metadata
Returns metadata-name summaries for the account, newest first. Use a returned id with GetMetadataEntry to retrieve its associated values.
Permissionmetadata:retrieve

Get A Metadata Entry

GET/metadata/{metadata_id}
Retrieve a metadata entry and its associated values. Returns up to 1,000 values; this operation does not support pagination.
Permissionmetadata:retrieve

Notes

A note is created using the API or within the web app. A note is always attached to a specific item and is viewable via the web app or API. Use the API to create a note specific to an item.

Create A Note

POST/notes
Create a note for a specific item, using an item type and item ID.
Creating a note will simultaneously attach the note to the customer related to the specific item, allowing you to view all notes for a customer and related entities.
Permissionnote:create

Offline Payments

An offline payment is created during a sale with a offline_payment payment type. Use the API to get a list of offline payments created during a specified date range, get a single offline payment by ID and get offline payments specific to a customer. Note: If you wish to refund an offline payment you instead refund the entity that the offline payment is associated using either the VoidSale, RefundProductSale, RefundTax or RefundShipment operations.

Get Offline Payments

GET/offline_payments
Retrieve offline payments matching a creation-date range and optional filters, newest first. Use a returned id with GetOfflinePayment to retrieve one payment.
date_start, date_end, limit and page are required. The date range must be shorter than 95 days, including when customer_id is supplied.
Permissionoffline_payment:retrieve

Get An Offline Payment

GET/offline_payments/{offline_payment_id}
Retrieve an offline payment, including its amount, status and available related information. No query parameters are accepted.
Permissionoffline_payment:retrieve

Payment Profiles

A payment profile is a core component of the RevCent platform. A payment profile is used when creating a credit card sale, and determines the routing of credit card payments to specific processors according to rules, conditions and design. Use the API to get a list of payment profiles, get a single payment profile by ID, create a new payment profile or modify a payment profile.

Get Payment Profiles

GET/payment_profiles
Retrieve payment-profile summaries for the account, newest first. Use a returned id with GetPaymentProfile to retrieve its configuration, including payment_flow.
Permissionpayment_profile:retrieve

Edit A Payment Profile

POST/payment_profiles/{payment_profile_id}
Edit a previously created Payment Profile using the Payment Profile ID. Only supplied fields are updated.
Permissionpayment_profile:edit

PayPal Accounts

A PayPal account is created when a user links their PayPal account to RevCent. Use the API to get a list of PayPal accounts, get a single PayPal account by ID, create a new PayPal account, modify a PayPal account and delete a PayPal account.

Get PayPal Accounts

GET/paypal_accounts
Retrieve the account’s PayPal accounts and their settings, newest first. Use a returned id with GetPayPalAccount to retrieve an individual account.
The page and limit URL parameters are required.
Permissionpaypal_account:retrieve

Get A PayPal Account

GET/paypal_accounts/{paypal_account_id}
Retrieve a PayPal account and its settings using its RevCent ID.
Permissionpaypal_account:retrieve

Edit A PayPal Account

POST/paypal_accounts/{paypal_account_id}
Edit a previously created PayPal Account using the PayPal Account ID. Only supplied fields are updated.
Permissionpaypal_account:edit

Delete A PayPal Account

POST/paypal_accounts/{paypal_account_id}/delete
Delete a specific PayPal account using the PayPal account ID and delete path.
Permissionpaypal_account:delete

PayPal Disputes

A PayPal dispute is created when a customer disputes a PayPal transaction. RevCent automatically monitors PayPal accounts for new disputes and dispute updates directly from PayPal. Use the API to get a list of PayPal disputes created during a specified date range, get a single PayPal dispute by ID and get PayPal disputes specific to a customer.

Get PayPal Disputes

GET/paypal_disputes
Retrieve PayPal disputes, newest first by their creation time in RevCent. Date filters apply to creation time in PayPal; customer_id selects the customer’s disputes instead of applying the date filter.
date_start, date_end, limit and page are required. The date interval may be at most 90 elapsed days, including when customer_id is supplied. Repeat an array filter parameter for multiple values; up to 50 distinct submitted values are accepted per filter. Values within a filter use OR; different filters use AND. For repeated date or pagination parameters, the last value is used.
Permissionpaypal_dispute:retrieve

PayPal Transactions

A PayPal transaction is created during a sale with a PayPal payment type. Use the API to get a list of PayPal transactions created during a specified date range, get a single PayPal transaction by ID and get PayPal transactions specific to a customer. Note: If you wish to refund a PayPal transaction you instead refund the entity that the PayPal transaction is associated using either the VoidSale, RefundProductSale, RefundTax or RefundShipment operations.

Get PayPal Transactions

GET/paypal_transactions
Retrieve PayPal transactions, newest first by their creation time in RevCent. Use filters to select transactions by date, customer or associated resources.
date_start, date_end, limit and page are required. The date interval may be at most 90 elapsed days, including when customer_id is supplied. customer_id replaces the date filter. For repeated date or pagination parameters, the last value is used.
Permissionpaypal_transaction:retrieve

Search PayPal Transactions

GET/paypal_transactions/search
Search PayPal transactions using a term or phrase. Returns up to 10 matches ordered by relevance, without pagination or a guarantee of finding every match.
Useful for finding a PayPal transaction when you do not know the PayPal transaction ID and wish to retrieve the details of a specific PayPal transaction. Once a PayPal transaction has been found, use an individual search results' id property and the GetPayPalTransaction operation to retrieve the PayPal transaction details. Important: If using the SearchPayPalTransactions and GetPayPalTransaction method within a public facing flow, i.e. a visitor is providing the search input in a public chat bot, it is highly recommended that you also verify the visitor is indeed related to the PayPal transaction using a secondary non-provided value, such as the customer email in the GetPayPalTransaction response, before providing information or taking action.
Permissionpaypal_transaction:search

Pending Refunds

A pending refund is created when a credit card transaction, PayPal transaction, check or offline payment is refunded directly or when an entity associated with either is refunded. You do not create a pending refund directly, you instead refund an entity which then creates a pending refund. RevCent will automatically complete a pending refund with the payment processor as soon as the processor allows. Use the API to get a list of pending refunds created during a specified date range, get a single pending refund by ID and get pending refunds specific to a customer.

Get Pending Refunds

GET/pending_refunds
Retrieve pending refund records, newest first by creation time. Results may include records whose processing has finished; inspect status for the outcome.
date_start, date_end, limit and page are required. The date interval may be at most 90 elapsed days, including when customer_id is supplied. customer_id replaces the date filter; other filters and access restrictions still apply.
Permissionpending_refund:retrieve

Get A Pending Refund

GET/pending_refunds/{pending_refund_id}
Retrieve a pending refund by its ID, including its current status and available customer, payment and related-resource details.
A pending refund record may remain available after processing finishes. Inspect status for the outcome; processed alone does not indicate a successful refund.
Permissionpending_refund:retrieve

Search Pending Refunds

GET/pending_refunds/search
Search pending refunds using a term or phrase. Returns up to 10 matches ordered by relevance, without pagination or a guarantee of finding every match.
Useful for finding a pending refund when you do not know the pending refund ID and wish to retrieve the details of a specific pending refund. Once a pending refund has been found, use an individual search results' id property and the GetPendingRefund operation to retrieve the pending refund details. Important: If using the SearchPendingRefunds and GetPendingRefund method within a public facing flow, i.e. a visitor is providing the search input in a public chat bot, it is highly recommended that you also verify the visitor is indeed related to the pending refund using a secondary non-provided value, such as the customer email in the GetPendingRefund response, before providing information or taking action.
Permissionpending_refund:search

Products

A product is a line item which is purchased during a sale, and every sale must have at least one product. Products can create subscriptions, trials or be unbundled at time of sale or fulfillment. Use the API to get a list of products created during a specified date range, get a single product by ID, create a new product, modify a product and search for products.

Get Products

GET/products
Retrieve current catalog products, newest first by creation time, with available image, bundle and related-resource summaries.
limit and page are required. Dates are optional; when either date_start or date_end is supplied, both are required and must span less than 9,900 elapsed days. The date interval includes its start and excludes its end.
Permissionproduct:retrieve

Get A Product

GET/products/{product_id}
Retrieve one product with its available pricing, shipping, subscription and related-resource details. Archived products can also be retrieved by ID.
Permissionproduct:retrieve

Edit A Product

POST/products/{product_id}
Edit the details of a specific product using the product ID. Manage product images separately: use AddProductImage to add image content, EditProductImage to change a caption or featured status, and DeleteProductImage to remove an image.
Permissionproduct:edit

Delete A Product

POST/products/{product_id}/delete
Delete an existing product.
Permissionproduct:delete

Get product images

GET/products/{product_id}/images
Retrieve a product’s images in creation order, including disabled images. Returns one fixed page of up to 1,000 images; no query parameters are accepted.
Permissionproduct:retrieve

Add a product image

POST/products/{product_id}/images
Adds a JPEG or PNG image to a product from either uploaded image bytes or a public HTTPS image URL. The image must be smaller than 1,000,000 bytes.
Permissionproduct:edit

Get a product image

GET/products/{product_id}/images/{product_image_id}
Retrieve one image belonging to a product, including a disabled image. No query parameters are accepted.
Permissionproduct:retrieve

Edit a product image

POST/products/{product_id}/images/{product_image_id}
Updates the caption or featured status of a product image. Setting an image as featured makes it the product's only featured image.
Permissionproduct:edit

Delete a product image

POST/products/{product_id}/images/{product_image_id}/delete
Deletes a product image and its generated image variants.
Permissionproduct:delete

Search Products

GET/products/search
Search products using a term or phrase. Returns up to 10 matches ordered by relevance, without pagination or a guarantee of finding every match.
Use a result’s id with GetProduct to retrieve product details. Products from different shops can share a name or SKU; use shop, when available, to help distinguish them.
Permissionproduct:search

Sync Products

POST/products/sync
Synchronize products from a connected WooCommerce shop, creating missing products and updating existing products according to the supplied options. Only one sync may run per shop at a time. For CSV imports or manual adjustments, use the product import tool at https://revcent.com/user/import-products.
Permissionproduct:sync

Get Product Sync

GET/products/sync/{product_sync_id}
Retrieve the status and details of a product sync using the product_sync_id returned by SyncProducts.
Permissionproduct:retrieve

Product Groups

A product group is a collection of products that are grouped together for organizational purposes. Great for use in filtering, reporting and mroe. Use the API to get a list of product groups, get a single product group by ID, create a new product group, modify a product group and delete a product group.

Get Product Groups

GET/product_groups
Retrieve product-group summaries, newest first by creation time. Use GetProductGroup to retrieve a group with its product IDs.
Useful for retrieving product groups to get their IDs, which can then be used when creating or editing a product to assign that product to a specific group. This operation does not return the list of products within each group. Use the GetProductGroup operation to retrieve the details of a specific product group including the products within that group.
Permissionproduct_group:retrieve

Create A Product Group

POST/product_groups
Create a Product Group, which will issue a unique Product Group ID. Note: When creating a product group, if providing the 'products' array, any product ID's contained in the 'products' array will automatically be associated with the group.
Permissionproduct_group:create

Get A Product Group

GET/product_groups/{product_group_id}
Retrieve a product group by its ID, including up to 50 available product IDs.
Permissionproduct_group:retrieve

Edit A Product Group

POST/product_groups/{product_group_id}
Update a product group. Only supplied fields are updated. If products is supplied, it replaces the group’s product membership; an empty array removes all members.
Permissionproduct_group:edit

Delete A Product Group

POST/product_groups/{product_group_id}/delete
Delete a specific product group using the product group ID and delete path. Any product(s) associated with the product group will be disassociated from the group.
Permissionproduct_group:delete

Products Sold

A product sale is the line item purchase of a specific product within an individual sale, i.e. a line item within a sale. The product sale entity allows advanced metrics on a product specific level. Use the API to get a list of product sales created during a specified date range, get a single product sale by ID, refund a product sale and get product sales specific to a customer.

Get Product Sales

GET/product_sales
Retrieve product sales, newest first by creation time, with available customer, product and payment summaries.
date_start, date_end, limit and page are required. The date interval may be at most 90 elapsed days, including when customer_id is supplied. customer_id replaces the date filter; other filters and access restrictions still apply.
Permissionproduct_sale:retrieve

Refund A Product Sale

POST/product_sales/{product_sale_id}/refund
Refund a product sale using the product sale ID. If partially refunding, provide the amount property in the request body. If the amount property is not provided, the product sale will be refunded entirely.
Permissionproduct_sale:refund

Projects

A Project can represent a business, an objective, an operational initiative, a reporting workspace, an external-agent source of truth, or any durable AI/MCP context container that should be reused over time. Projects are useful for AI because they prevent every future interaction from needing all historical context in the prompt.

Get Projects

GET/projects
Retrieve project summaries with names and descriptions, ordered by creation time from newest to oldest. Use GetProject with a returned project ID to retrieve associated entities.
Permissionproject:retrieve

Get A Project

GET/projects/{project_id}
Retrieve a project with its name, description and summaries of associated resources. Use the corresponding Get operation for full resource details. No query parameters are accepted.
Permissionproject:retrieve

Edit A Project

POST/projects/{project_id}
Edit a specific project using the project ID. Only supplied fields are updated.
Permissionproject:edit

Delete A Project

POST/projects/{project_id}/delete
Delete an existing project.
Permissionproject:delete

Associate Entity with Project

POST/projects/{project_id}/associate_entity
Associate an existing entity with a project.
Permissionproject:associate_entity

Disassociate Entity with Project

POST/projects/{project_id}/disassociate_entity
Disassociate an existing entity from a project.
Permissionproject:disassociate_entity

Search Projects

GET/projects/search
Search projects by project ID, name, description or associated resource IDs. Provide a nonblank search_term, at least one entity-ID filter, or both. Multiple entity filters combine with AND. Returns up to 10 results; pagination is not supported.
Useful for finding a project(s) by name or description when you do not know the project ID. Also useful to search for projects with a specific entity associated using an entity type ID.
Permissionproject:search

Get Project Notes

GET/project_notes
Retrieve project-note summaries, including titles and metadata, within a date range. Optionally filter by project or metadata. Use GetProjectNote with a returned note ID to retrieve full note content.
Permissionproject_note:retrieve

Create A Project Note

POST/project_notes
Create a project note in RevCent.
Permissionproject_note:create

Get A Project Note

GET/project_notes/{project_note_id}
Retrieve a project note by ID, including its available full content, metadata and associated project summary.
Permissionproject_note:retrieve

Edit A Project Note

POST/project_notes/{project_note_id}
Edit a specific project note using the project note ID. Only supplied fields are updated.
Permissionproject_note:edit

Delete A Project Note

POST/project_notes/{project_note_id}/delete
Delete an existing project note.
Permissionproject_note:delete

Search Project Notes

GET/project_notes/search
Search project notes by ID, title, content or metadata values. Optionally limit results to one project.
Useful for finding a project note(s) when you do not know the project note ID or wish to search for project notes by title, content and/or metadata.
Permissionproject_note:search

Sales

A sale is created using the web app, API, plugin or hosted solution. A sale consists of product sales, shipments, tax and discounts. Every sale has a specific customer and is the spawning point for subscriptions and trials. Use the API to get a list of sales created during a specified date range, get a single sale by ID, create a sale, void a sale, get sales specific to a customer and search all sales.

Get Sales

GET/sales
Retrieve a page of sales, ordered by creation time from newest to oldest. Each sale includes available customer, product and payment summaries.
date_start, date_end, limit and page are required. The elapsed date range must be strictly shorter than 95 days. When customer_id is supplied, dates remain required and validated but do not restrict results. Only the first 20 pages are accessible.
Permissionsale:retrieve

Create A Sale

POST/sales
Create a new sale and attempt payment. After a decline, retain the returned sale ID, use UpdatePendingSale for corrections, then ProcessPendingSale to attempt payment on the same sale. Repeating CreateSale creates a separate purchase.
Permissionsale:create

Get A Sale

GET/sales/{sale_id}
Retrieve a sale with its available customer, product and payment details. Related histories are bounded selections. Use the returned related-resource IDs with their corresponding Get operations for further details. No query parameters are accepted.
Permissionsale:retrieve

Void A Sale

POST/sales/{sale_id}/void
Void a sale in its entirety which will either cancel a pending sale, or fully refund all associated payments on a non-pending sale. If the sale is paid, all product sales, shipping and tax will be refunded in their entirety.
Voiding a sale will also cancel any related subscriptions, active trials and shipping at fulfillment. Note: If you wish to permanently block a specific customer associated with a sale you are voiding, we recommend you instead use the CreateFraudDetection operation and set source_id:{sale_id} and void_sale:true. This will fully refund the sale, prevent the same credit card from making a purchase and block the customer entirely.
Permissionsale:void

Create A Pending Sale

POST/sales/pending
Create an unpaid pending sale without attempting payment. Use UpdatePendingSale to change its details and ProcessPendingSale when ready to pay.
Permissionsale:create

Update A Pending Sale

POST/sales/pending/{sale_id}
Update an existing unpaid, uncancelled sale without attempting payment. Use ProcessPendingSale when ready to attempt payment. The sale must belong to your account and the same live/test mode. The existing sale’s shop association is retained and cannot be changed by this operation.
Permissionsale:create

Process A Pending Sale

POST/sales/pending/{sale_id}/process
Process an existing pending sale using its sale ID. This **will** attempt payment, including another attempt after a decline. Use UpdatePendingSale first for customer, shipping address, product or charge changes. Payment information and billing corrections can be supplied here. The existing sale’s shop association is retained and cannot be changed by this operation.
Permissionsale:create

Estimate A Sale

POST/sales/estimate
Estimate a sale’s total and return an itemized breakdown of products, shipping, tax, coupons and discounts. Supply products or the ID of an existing pending sale. No payment is processed.
Permissionsale:estimate

Search Sales

GET/sales/search
Find sales by sale ID, customer or shipping contact details, IP address or metadata values. Returns up to 10 matching summaries. Use a result ID with GetSale for fuller details when available.
Useful for finding a sale when you do not know the sale ID and wish to retrieve the details of a specific sale. Once a sale has been found, use an individual search results' id property and the GetSale operation to retrieve the sale details. Important: If using the SearchSales and GetSale method within a public facing flow, i.e. a visitor is providing the search input in a public chat bot, it is highly recommended that you also verify the visitor is indeed related to the sale using a secondary non-provided value, such as the customer email in the GetSale response, before providing information or taking action.
Permissionsale:search

Salvage Transactions

A salvage transaction is created when a credit card transaction is fully or partially declined. Use the API to get a list of salvage transactions created during a specified date range, get a single salvage transaction by ID and get salvage transactions specific to a customer.

Get Salvage Transactions

GET/salvage_transactions
Retrieve a page of salvage transactions with available recovery amounts, status and payment summaries, ordered by creation time from newest to oldest. Use GetSalvageTransaction for individual details.
date_start, date_end, page and limit are required. Without customer_id, the date range must not exceed 90 elapsed days. With customer_id, dates must still be valid and ordered but do not restrict results, and the 90-day limit does not apply. Only pages 1–20 are accessible; page 0 is treated as page 1.
Permissionsalvage_transaction:retrieve

Get A Salvage Transaction

GET/salvage_transactions/{salvage_transaction_id}
Retrieve a salvage transaction with its available recovery amounts, status, payment summaries and notes. Related histories are bounded selections and may be incomplete. No query parameters are accepted.
Permissionsalvage_transaction:retrieve

Process A Salvage Transaction

POST/salvage_transactions/{salvage_transaction_id}/process
Process an existing salvage transaction using its ID. The salvage transaction identifies the customer; no customer_id is needed. A decline or provider error does not trigger another payment-method attempt.
Permissionsalvage_transaction:process

Disable A Salvage Transaction

POST/salvage_transactions/{salvage_transaction_id}/disable
Permanently disable an existing salvage transaction. A disabled salvage transaction cannot be processed or re-enabled.
Permissionsalvage_transaction:disable

Secure Forms

Secure forms let a user provide credentials through a secure web page. CreateSecureForm returns a form ID and form_url. Ask the user to open that URL and complete the form, then use the completed form ID when creating or updating the supported gateway, SMTP profile, fulfillment account, third-party shop or integration. GetSecureForm lets you check completion. A form expires one hour after creation. Complete and use it before expiration; requests to access an expired form return an error.

Create A Secure Form

POST/secure_forms
Create a temporary secure form for collecting credentials. Direct the user to the returned form_url, then use the form ID in the relevant operation after the user completes it. The form and its saved data expire after one hour.
Permissionsecure_form:create

Get A Secure Form

GET/secure_forms/{secure_form_id}
Retrieve a secure form’s completion status, source, URL and recorded expiration. Submitted credential values are not returned. No query parameters are accepted.
Permissionsecure_form:retrieve

Sentinel Anti-Fraud

Sentinel Anti-Fraud is RevCent's in-house multi layered anti-fraud system which protects your account from processing fraudulent charges. Built by RevCent after years of experience with ecommerce payments, Sentinel analyzes IP addresses, validates tracking visitors and utilizes third parties before processing payments. Use the API to get account Sentinel settings, modify account Sentinel settings, get fraud detections by date range, get a fraud detection by ID, create a fraud detection and edit a fraud detection.

Get Fraud Detections

GET/fraud_detections
Retrieve a page of fraud detections, newest first. Use GetFraudDetection to retrieve an individual detection.
date_start, date_end, limit and page are required. The date range may span at most 90 days, including exactly 90 days. With customer_id, dates remain required and validated but do not restrict results.
Permissionfraud_detection:retrieve

Get A Fraud Detection

GET/fraud_detections/{fraud_detection_id}
Retrieve a fraud detection by its ID, including available customer, payment and related-resource summaries. No query parameters are supported.
Permissionfraud_detection:retrieve

Search Fraud Detections

GET/fraud_detections/search
Search fraud detections using a term or phrase. Returns up to 10 matches ordered by relevance, without pagination or a guarantee of finding every match.
Useful for finding a fraud detection when you do not know the fraud detection ID and wish to retrieve the details of a specific fraud detection. Once a fraud detection has been found, use an individual search results' id property and the GetFraudDetection operation to retrieve the fraud detection details. Important: If using the SearchFraudDetections and GetFraudDetection method within a public facing flow, i.e. a visitor is providing the search input in a public chat bot, it is highly recommended that you also verify the visitor is indeed related to the fraud detection using a secondary non-provided value, such as the customer email in the GetFraudDetection response, before providing information or taking action.
Permissionfraud_detection:search

Get Sentinel Settings

GET/sentinel
Retrieve the account’s Sentinel visitor-validation, third-party fraud-check and IP-based fraud-firewall settings. No query parameters are accepted.
Permissionsentinel:retrieve

Shipping

A shipment is created during a sale, subscription renewal or trial expiration, when one or more products sold are associated with a fulfillment account. Use the API to get a list of shipments created during a specified date range, get a single shipment by ID, refund a shipment, get shipments specific to a customer and search all shipments.

Get Shipments

GET/shipping
List available shipments, newest first, with payment, fulfillment and related-resource information. Date range, limit and page are required. Use customer_id to retrieve a customer’s shipments without date filtering; the supplied dates must still pass validation.
The date_start, date_end, page and limit URL parameters are required. The difference between date_start and date_end cannot exceed a 90 day period.
Permissionshipping:retrieve

Edit A Shipment

POST/shipping/{shipping_id}
Edit a shipment using its shipment ID. Omitted fields retain their values, subject to the effects of shipped and delivered described below. Ship-to address changes are forwarded to fulfillment where applicable. Contradictory shipment flags reject the entire edit without applying changes.
Permissionshipping:edit

Refund A Shipment

POST/shipping/{shipping_id}/refund
Refund a shipment using the shipment ID. If partially refunding, provide the amount property in the request body. If the amount property is not provided, the shipment will be refunded entirely.
Permissionshipping:refund

Search Shipping

GET/shipping/search
Search shipments and return up to ten matches ranked by relevance. Use a result’s id with GetShipment for available shipment details. Results may be incomplete; pagination is not supported.
Useful for finding a shipment when you do not know the shipment ID and wish to retrieve the details of a specific shipment. Once a shipment has been found, use an individual search results' id property and the GetShipment operation to retrieve the shipment details. Important: If using the SearchShipping and GetShipment method within a public facing flow, i.e. a visitor is providing the search input in a public chat bot, it is highly recommended that you also verify the visitor is indeed related to the shipment using a secondary non-provided value, such as the customer email in the GetShipment response, before providing information or taking action.
Permissionshipping:search

Shipping Profiles

A shipping profile is created to define the settings for calculating shipping rates on sales, trial expirations and subscription renewals that have shippable products. RevCent will analyze all enabled shipping profiles and find the best match for a shipping rate based on number of matched qualifiers. This is necessary for trial expirations and subscription renewals which have shippable products. Sales with a predefined shipping entry in the API request, i.e. shipping calculated at a third party shop, will use that entry instead of calculating a new rate. Use the API to get a list of shipping profiles, get a single shipping profile by ID, create a new shipping profile, update an existing shipping profile, and delete a shipping profile.

Get Shipping Profiles

GET/shipping_profiles
List account shipping profiles, newest first, with their available rates and qualification conditions. Only limit and page are supported; date filters are not available.
The page and limit URL parameters are required.
Permissionshipping_profile:retrieve

Get A Shipping Profile

GET/shipping_profiles/{shipping_profile_id}
Retrieve a shipping profile and its available rates and qualification conditions. Supply shipping_profile_id in the path; query parameters are not supported.
Permissionshipping_profile:retrieve

Edit A Shipping Profile

POST/shipping_profiles/{shipping_profile_id}
Edit a shipping profile. Provide only the fields to change. Supplying rates replaces the complete rate list; use rate_id to retain existing rates. Invalid or ambiguous rate or qualifier selections reject the entire edit without applying other changes.
Permissionshipping_profile:edit

Delete A Shipping Profile

POST/shipping_profiles/{shipping_profile_id}/delete
Delete an existing shipping profile.
Permissionshipping_profile:delete

Shipping Providers

A site shipping provider is the actual carrier, such as USPS or FedEx, stored in RevCent using individual ID's along with respective shipping methods and ID's. Site shipping providers and their methods are used to calculate shipping rates within shipping profiles. Use the API to get a list of site shipping providers or get a single site shipping provider by ID with provider methods.

Get Site Shipping Providers

GET/site_shipping_providers
Retrieve the complete catalog of available shipping providers in one response. No query parameters are accepted. Use GetSiteShippingProvider to retrieve a provider’s domestic and international package options.
Permissionsite_shipping_provider:retrieve

Get A Site Shipping Provider

GET/site_shipping_providers/{site_shipping_provider_id}
Retrieve an available shipping provider and its domestic and international package options. No query parameters are accepted.
Permissionsite_shipping_provider:retrieve

Shops

There are two different shop entities in RevCent: the site shop and the user shop. A site shop is the third party shopping cart software, such as WooCommerce, with a global ID, not associated with a specific user, that is powering your online ecommerce store. You create a user shop based on a site shop. The user shop is an individual shop with a unique URL, created using the web app or API and associated with a site shop. Important: A Shop/Third Party Shop/Site Shop is completely different than a RevCent Site. Third Party Shops are remote independently hosted shopping carts, such as WooCommerce, that are integrated with RevCent. A RevCent Site is a fully customizable site hosted by RevCent that allows you to have full control via GitHub repo access. Use the API to get a list of site shops, get a single site shop by ID, get a list of user shops, get a single user shop by ID, create a user shop, edit a user shop and validate or fix user shop remote settings.

Get Site Shops

GET/site_shops
Retrieve the complete catalog of available third-party shop integrations and their configuration field definitions for creating or editing User Shops. No query parameters are accepted.
Permissionsite_shop:retrieve

Get A Site Shop

GET/site_shops/{site_shop_id}
Retrieve an available third-party shop integration and its configuration field definitions for creating or editing a User Shop. No query parameters are accepted.
Permissionsite_shop:retrieve

Get User Shops

GET/user_shops
Retrieve saved third-party shop connections and their payment and shipping mappings. Use GetUserShop to retrieve remote shop data.
Permissionuser_shop:retrieve

Create A User Shop

POST/user_shops
Create a user shop in RevCent which will link and integrate existing stores such as WooCommerce to RevCent.
A site shop is required, along with the correct required fields when creating a user shop. You must have previously installed the appropriate RevCent plugin before creating a user shop as well as acquired the necessary credentials. For example, if the site shop is WooCommerce, they must have already installed the RevCent Payment plugin in WordPress and have created an API key/secret. After creating the user shop, run the ValidateUserShop operation to ensure all remote settings are configured correctly, and if not configured correctly you can run the FixUserShop operation to have Revcent automatically configure settings correctly. Once you have validated the user shop using the ValidateUserShop operation and potentially fixed the user shop using the FixUserShop operation, it is important to use the GetUserShop operation with remote_data query string parameters of 'shipping_methods' and 'offline_payment_methods', then edit the user shop with appropriately mapped values for the items in both methods. Once you have set the shipping_methods and offline_payment_methods, use the GetUserShop operation to retrieve the remote_data products, which can then be used to create each product in RevCent associated with the user shop with the RevCent third_party_shop ID and the shops' product ID.
Permissionuser_shop:create

Get A User Shop

GET/user_shops/{user_shop_id}
Retrieve one shop connection and its saved payment and shipping mappings. Optionally request remote product or method summaries for WooCommerce connections.
Permissionuser_shop:retrieve

Edit A User Shop

POST/user_shops/{user_shop_id}
Edit a user shop in RevCent. Only provide the properties you wish to modify. Properties not provided will remain unchanged.
Permissionuser_shop:edit

Validate A User Shop

POST/user_shops/{user_shop_id}/validate
Checks the WooCommerce RevCent payment settings and required webhooks. Does not repair remote settings. Use FixUserShop to request repairs.
Permissionuser_shop:validate

Fix A User Shop

POST/user_shops/{user_shop_id}/fix
Checks a WooCommerce installation and repairs mismatched RevCent payment settings or webhooks. Performs at most two repair passes, verifying again after each. Missing or disabled plugins and connection failures are reported without repair.
Permissionuser_shop:fix

Sites

RevCent Sites is an AI only feature that allows users to deploy and fully customize their own RevCent site to manage their ecommerce business operations. A site is created using the API or MCP, then customized using a designated repo and AI. Sites are not designed or customized within the RevCent web app, it is solely intended for users to utilize the power of AI to create the exact ecommerce store they want. Important: A RevCent Site is completely different than a Shop/Third Party Shop. Third Party Shops are remote independently hosted shopping carts, such as WooCommerce, that are integrated with RevCent. A RevCent Site is a fully customizable site hosted by RevCent that allows you to have full control via GitHub repo access. Use the API to get a list of sites, get a single site by ID, create a new site, update an existing site and delete a site.

Get Sites

GET/sites
Retrieve available sites for your account, newest first, including configuration and deployment details. Only limit and page query parameters are accepted; both are required.
Permissionsite:retrieve

Add Tracking Domain to Site

POST/sites/{site_id}/add_tracking_domain
Add a tracking domain to a specific site using the Site ID and a tracking domain ID. Adding a tracking domain to a site will allow the domain to access the main/live deployment via the a_record_ip in the routing object.
Permissionsite:add_tracking_domain

Remove Tracking Domain from Site

POST/sites/{site_id}/remove_tracking_domain
Remove a tracking domain from a specific site using the Site ID and remove path. Removing a tracking domain from a site will prevent a custom domain from accessing the main/live deployment.
Permissionsite:remove_tracking_domain

Delete A Site

POST/sites/{site_id}/delete
Delete a specific site using the Site ID and delete path. This action is irreversible and will remove all data, routing and content associated with the site.
Permissionsite:delete

Get Site Events

GET/site_events
List site events, such as deployments and catalog updates, newest first within a date range. Optionally limit results to selected sites.
The date_start, date_end, page and limit URL parameters are required. The maximum elapsed date range is 90 days; exactly 90 days is accepted.
Permissionsite_event:retrieve

Get Site Logs

GET/site_logs
Retrieve application log messages for one RevCent Site branch, newest first.
All six query parameters are required. Supply exactly one site and branch and a date range of at most 30 elapsed days. Counts and entries may reflect different moments as logs change. Repeated date_start, date_end, limit and page parameters use the last supplied value; a blank final value is invalid.
Permissionsite_log:retrieve

SMTP Messages

An SMTP message is created automatically by configured RevCent events or through the API. Use the API to get a list of SMTP messages, get a single SMTP message or send a SMTP message.

Get SMTP Messages

GET/smtp_messages
Retrieve SMTP message summaries in newest-first creation order. Use GetSMTPMessage for sender and recipient addresses, subject and HTML content.
date_start, date_end, page and limit are required. The date span must be shorter than 95 days. Supplying customer_id replaces date filtering, but the dates are still required and validated. Different filters combine with AND; values within one filter combine with OR. Repeat filter parameters to supply multiple values; duplicates are ignored, and values are not trimmed or comma-separated.
Permissionsmtp_message:retrieve

Get A SMTP Message

GET/smtp_messages/{smtp_message_id}
Retrieve an SMTP message, including its sender, recipients, subject, HTML content and available related summaries. Successful retrieval does not confirm delivery. No query parameters are accepted.
Permissionsmtp_message:retrieve

SMTP Profiles

A SMTP profile is created to define the settings for sending SMTP messages. Use the API to get a list of SMTP profiles, get a single SMTP profile by ID, create a new SMTP profile, update an existing SMTP profile, and delete an SMTP profile.

Get SMTP Profiles

GET/smtp_profiles
Retrieve available SMTP profile configurations in newest-first creation order. Only limit and page are accepted. Returned settings do not confirm successful connectivity or delivery.
Permissionsmtp_profile:retrieve

Get A SMTP Profile

GET/smtp_profiles/{smtp_profile_id}
Retrieve an SMTP profile configuration. Returned settings do not confirm successful connectivity or delivery. No query parameters are accepted.
Permissionsmtp_profile:retrieve

Edit A SMTP Profile

POST/smtp_profiles/{smtp_profile_id}
Edit a specific SMTP profile using the smtp_profile ID. Only supplied fields are updated.
Permissionsmtp_profile:edit

Delete A SMTP Profile

POST/smtp_profiles/{smtp_profile_id}/delete
Delete an existing SMTP profile.
Permissionsmtp_profile:delete

Subscriptions

A subscription is created during a sale in which a product with an attached subscription profile is sold. Subscriptions are their own entity and are automatically renewed by RevCent according to the subscription profile. Use the API to get a list of subscriptions created during a specified date range, get a single subscription by ID, activate a subscription, suspend a subscription, cancel a subscription, renew a subscription and get subscriptions specific to a customer.

Get Subscriptions

GET/subscriptions
Retrieve subscription summaries in newest-first order, including lifecycle status, billing information and available related resources.
date_start, date_end, limit and page are required. The date span must be strictly shorter than 9,900 days unless customer_id is supplied; customer_id does not remove the date requirement or date filtering.
Permissionsubscription:retrieve

Get A Subscription

GET/subscriptions/{subscription_id}
Retrieve one subscription, including lifecycle status, billing information, product details and renewal schedules.
Permissionsubscription:retrieve

Edit A Subscription

POST/subscriptions/{subscription_id}
Edit a subscription using the subscription ID. This operation is meant for modifying attributes of a subscription, and not the active status of a subscription. Use the web app to modify the product and customize a specific subscriptions' renewal period.
Permissionsubscription:edit

Suspend A Subscription

POST/subscriptions/{subscription_id}/suspend
Suspend a subscription using the subscription ID. You can restart a suspended subscription using the SubscriptionActivate operation.
Permissionsubscription:suspend

Cancel A Subscription

POST/subscriptions/{subscription_id}/cancel
Cancel a subscription using the subscription ID. This operation is permanent and cannot be undone. Use the SubscriptionSuspend operation if you wish to restart the subscription at a later date.
Permissionsubscription:cancel

Renew A Subscription

POST/subscriptions/{subscription_id}/renew
Renew a subscription and attempt payment immediately. Use update_schedule to control whether the next renewal date advances.
Permissionsubscription:renew

Search Subscriptions

GET/subscriptions/search
Find subscriptions by subscription ID, customer contact details or metadata values. Returns up to 10 matching summaries. Use a result ID with GetSubscription for fuller details when available.
Useful for finding a subscription when you do not know the subscription ID and wish to retrieve the details of a specific subscription. Once a subscription has been found, use an individual search results' id property and the GetSubscription operation to retrieve the subscription details. Important: If using the SearchSubscriptions and GetSubscription method within a public facing flow, i.e. a visitor is providing the search input in a public chat bot, it is highly recommended that you also verify the visitor is indeed related to the subscription using a secondary non-provided value, such as the customer ZIP code in the GetSubscription response, before providing information or taking action.
Permissionsubscription:search

Subscription Profiles

A subscription profile is created to define the settings for managing subscriptions. Use the API to get a list of subscription profiles, get a single subscription profile by ID, create a new subscription profile, update an existing subscription profile, and delete a subscription profile.

Get Subscription Profiles

GET/subscription_profiles
Retrieve subscription profile configurations in newest-first creation order. Omit the type filter for global profiles, or select custom profiles or both types. Only limit, page and subscription_profile_type_filter are accepted.
Permissionsubscription_profile:retrieve

Create A Subscription Profile

POST/subscription_profiles
Create a Subscription Profile, which will issue a unique Subscription Profile ID.
Permissionsubscription_profile:create

Get A Subscription Profile

GET/subscription_profiles/{subscription_profile_id}
Retrieve a subscription profile, including its billing frequency, renewal limits and associated profiles. No query parameters are accepted.
Permissionsubscription_profile:retrieve

Edit A Subscription Profile

POST/subscription_profiles/{subscription_profile_id}
Update a subscription profile. Only supplied fields are updated. Changes to billing frequency affect all subscriptions using this profile.
Permissionsubscription_profile:edit

Delete A Subscription Profile

POST/subscription_profiles/{subscription_profile_id}/delete
Delete a specific subscription profile using the subscription profile ID and delete path. Note: An error will return if any subscriptions or products are associated with the profile. This is to ensure subscriptions renew and products purchased are not affected.
Permissionsubscription_profile:delete

Subscription Renewals

A subscription renewal is created when a subscription is renewed either manually or automatically by RevCent. Use the API to get a list of subscription renewals created during a specified date range, get a single subscription renewal by ID, refund a subscription renewal and get subscription renewals specific to a customer.

Get Subscription Renewals

GET/subscription_renewals
Retrieve subscription renewal summaries in newest-first order, including payment amounts, status and available related resources.
date_start, date_end, limit and page are required. The date span must be strictly shorter than 9,900 days unless customer_id is supplied; customer_id does not remove the date requirement or date filtering.
Permissionsubscription_renewal:retrieve

Get A Subscription Renewal

GET/subscription_renewals/{subscription_renewal_id}
Retrieve a subscription renewal, including payment amounts, status and available related resources. No query parameters are accepted.
Permissionsubscription_renewal:retrieve

Refund A Subscription Renewal

POST/subscription_renewals/{subscription_renewal_id}/refund
Refund a subscription renewal using the subscription renewal ID. If partially refunding, provide the amount property in the request body. If the amount property is not provided, the subscription renewal will be refunded entirely.
Permissionsubscription_renewal:refund

Tax

A tax is created during a sale, subscription renewal or trial expiration when either a tax entry is provided or a tax profile is used to calculate tax. Use the API to get a list of tax created during a specified date range, get a single tax by ID, refund a tax, get tax specific to a customer and retrieve, create, edit or delete tax profiles.

Get Taxes

GET/tax
Retrieve a page of tax records, including payment summaries, tax rates and available customer and Tax Profile details.
date_start, date_end, limit and page are required. The date range must be strictly shorter than 9,900 days unless customer_id is supplied. Unsupported query parameters are rejected.
Permissiontax:retrieve

Get A Tax

GET/tax/{tax_id}
Retrieve one tax record, including its payment status, financial amounts and available related-resource summaries. Archived records remain retrievable. No query parameters are accepted.
Permissiontax:retrieve

Refund A Tax

POST/tax/{tax_id}/refund
Refund a tax using the tax ID. If partially refunding, provide the amount property in the request body. If the amount property is not provided, the tax will be refunded entirely.
Permissiontax:refund

Get Tax Profiles

GET/tax_profiles
Retrieve a page of Tax Profile summaries, including campaign applicability and available tax-service integration details. Only limit and page query parameters are supported.
Permissiontax_profile:retrieve

Create A Tax Profile

POST/tax_profiles
Create a Tax Profile, which will issue a unique Tax Profile ID.
Permissiontax_profile:create

Get A Tax Profile

GET/tax_profiles/{tax_profile_id}
Retrieve one Tax Profile, including campaign applicability and available tax-service integration details. Archived and disabled profiles remain retrievable. No query parameters are accepted.
Permissiontax_profile:retrieve

Edit A Tax Profile

POST/tax_profiles/{tax_profile_id}
Edit a previously created tax profile using the tax profile ID. Only supplied fields are updated.
Permissiontax_profile:edit

Delete A Tax Profile

POST/tax_profiles/{tax_profile_id}/delete
Delete a specific tax profile using the tax profile ID and delete path.
Permissiontax_profile:delete

Third Party Integrations

A third party integration is created to define the settings for integrating RevCent with external services. Use the API to get a list of third party integrations, get a single site or user third party integration by ID, create a new user third party integration, update an existing user third party integration, and delete a user third party integration.

Get Site Third Party Integrations

GET/site_third_party_integrations
Retrieve the complete catalog of available third-party integrations and their configuration definitions for creating or editing User Third Party Integrations. These definitions describe providers, not connected accounts. No query parameters are accepted.
Permissionsite_third_party_integration:retrieve

Get A Site Third Party Integration

GET/site_third_party_integrations/{site_third_party_integration_id}
Retrieve an available third-party integration definition and its credential and option configuration fields for creating or editing a User Third Party Integration. No query parameters are accepted.
Permissionsite_third_party_integration:retrieve

Get User Third Party Integrations

GET/user_third_party_integrations
Retrieve saved third-party integration configurations and their provider input definitions. Archived integrations are excluded; disabled integrations remain visible. This list does not retrieve remote choices.
Permissionuser_third_party_integration:retrieve

Create A User Third Party Integration

POST/user_third_party_integrations
Create a connection to a supported third-party integration. Some integrations require account-specific options after creation: retrieve them with GetUserThirdPartyIntegration, then submit them with EditUserThirdPartyIntegration.
Permissionuser_third_party_integration:create

Get A User Third Party Integration

GET/user_third_party_integrations/{user_third_party_integration_id}
Retrieve one account integration and its saved configuration, with remote selector choices retrieved automatically when available. Archived and disabled integrations remain retrievable. No query parameters are accepted.
Permissionuser_third_party_integration:retrieve

Edit A User Third Party Integration

POST/user_third_party_integrations/{user_third_party_integration_id}
Edit a previously created User Third Party Integration using the integration ID. Only supplied fields are updated.
Permissionuser_third_party_integration:edit

Delete A User Third Party Integration

POST/user_third_party_integrations/{user_third_party_integration_id}/delete
Delete a specific user third party integration using the integration ID and delete path.
Permissionuser_third_party_integration:delete

Tracking

Utilize both tracking domains and URL parameter sets to monitor visitor activity with enhanced DNS first party cookies. Use the API to get a list of tracking domains, get a single tracking domain by ID, create a tracking domain, modify a tracking domain, delete a tracking domain, get a list of URL parameter sets, get a single URL parameter set by ID, create a URL parameter set, modify a URL parameter set and delete a URL parameter set.

Get Tracking Domains

GET/tracking_domains
List tracking domains and their saved configuration, SSL status and DNS setup information. Disabled domains are included; archived and deleted domains are excluded. This operation does not refresh certificate status. Only limit and page query parameters are accepted.
Permissiontracking_domain:retrieve

Create A Tracking Domain

POST/tracking_domains
Create a Tracking Domain, which will issue a unique Tracking Domain ID.
After creating the tracking domain, the response will contain necessary A records in the 'a_records' array, which you will need to add to the domain's DNS. Once you have added the A records to your domain's DNS, you can begin the InitializeTrackingDomainSSL operation to initialize SSL for the domain. You can retrieve the required A records in the response when you first create the tracking domain, or you can use the GetTrackingDomain operation at any time to retrieve the A records. Steps for DNS tracking: 1. Create a tracking domain using the CreateTrackingDomain operation. 2. Add the A records in the CreateTrackingDomain response to your domain's DNS settings. 3. Initialize SSL for the tracking domain using the InitializeTrackingDomainSSL operation. 4. Add the CNAME records in the InitializeTrackingDomainSSL response to your domain's DNS settings. 5. Complete the DNS tracking setup by performing the InitializeTrackingDomainDNS operation.
Permissiontracking_domain:create

Get A Tracking Domain

GET/tracking_domains/{tracking_domain_id}
Retrieve one tracking domain and its configuration, SSL status and DNS setup information. Archived and disabled domains remain retrievable. Pending certificate status may be refreshed; saved information is returned when a refresh is unavailable. No query parameters are accepted.
Permissiontracking_domain:retrieve

Edit A Tracking Domain

POST/tracking_domains/{tracking_domain_id}
Edit a previously created Tracking Domain using the Tracking Domain ID. Only supplied fields are updated.
Permissiontracking_domain:edit

Initialize SSL for A Tracking Domain

POST/tracking_domains/{tracking_domain_id}/initialize_ssl
Initialize SSL for a specific tracking domain using the tracking domain ID.
Instructions: 1. Before running this operation, make sure you have already added the A records to the domain DNS, supplied in the response when you first created the tracking domain. Use the GetTrackingDomain operation to retrieve the required A records if necessary. 2. If the A records have been added, perform the InitializeTrackingDomainSSL operation and wait for a successful response containing the CNAME records found in the responses' ssl.cname_records array to add to your domain's DNS. 3. After adding the CNAME records to your domain, proceed to the InitializeTrackingDomainDNS operation to complete the process.
Permissiontracking_domain:initialize_ssl

Initialize DNS for A Tracking Domain

POST/tracking_domains/{tracking_domain_id}/initialize_dns
Initialize DNS for a specific tracking domain using the tracking domain ID.
You must have first added the necessary A records when you created the domain. Then you must have initialized SSL for the domain by completing the InitializeTrackingDomainSSL operation, which will provide necessary CNAME records to add to your domain's DNS. After you have added the required A records and CNAME records to your domain's DNS, you can run this operation to complete the DNS initialization process for the tracking domain. RevCent will verify that all necessary DNS records are present before completing the initialization process. If any DNS records are missing, RevCent will return an error. If all necessary DNS records are present, and the SSL certificate has been issued, RevCent will complete the initialization process and the tracking domain will be ready for use.
Permissiontracking_domain:initialize_dns

Get A Tracking Visitor

GET/tracking_visitors/{tracking_visitor_id}
Retrieve one tracking visitor, including available sale associations, tracking-domain summaries and a limited excerpt of page-visit history. Archived visitors remain retrievable. No query parameters are accepted.
Permissiontracking_visitor:retrieve

Get URL Parameter Sets

GET/url_parameter_sets
Retrieve a page of URL parameter sets used to configure URL-to-metadata mappings for tracking domains. Results are ordered from newest to oldest. Use a returned ID with GetUrlParameterSet for details.
Permissionurl_parameter_set:retrieve

Create A URL Parameter Set

POST/url_parameter_sets
Create a URL Parameter Set, which will issue a unique URL Parameter Set ID.
Permissionurl_parameter_set:create

Get A URL Parameter Set

GET/url_parameter_sets/{url_parameter_set_id}
Retrieve a specific URL parameter set and its URL-to-metadata mapping configuration. No query parameters are accepted.
Permissionurl_parameter_set:retrieve

Edit A URL Parameter Set

POST/url_parameter_sets/{url_parameter_set_id}
Edit a previously created URL Parameter Set using the URL Parameter Set ID. Only supplied fields are updated.
Permissionurl_parameter_set:edit

Delete A URL Parameter Set

POST/url_parameter_sets/{url_parameter_set_id}/delete
Delete a specific URL parameter set using the URL parameter set ID and delete path. Any Tracking Domains associated with the set will be disassociated from the set.
Permissionurl_parameter_set:delete

Transactions

A credit card transaction is created during a sale with a credit_card payment type or when a pending refund is completed with a payment processor. Use the API to get a list of transactions created during a specified date range, get a single transaction by ID, refund a transaction, get transactions specific to a customer and search all transactions.

Get Transactions

GET/transactions
Retrieve a page of transactions with their outcomes and available customer, payment-method and related-resource summaries. Results are ordered newest first.
The date_start, date_end, page and limit query parameters are required. Repeated date, pagination or customer_id parameters are rejected. Filter alternatives use OR within each group and AND across groups; metadata alternatives use OR for the same name and AND across different names.
Permissiontransaction:retrieve

Get A Transaction

GET/transactions/{transaction_id}
Retrieve one transaction with its payment outcome, available payment-method summary, notes, gateway response and related-resource IDs. Archived transactions remain retrievable. No query parameters are accepted.
Permissiontransaction:retrieve

Refund A Transaction

POST/transactions/{transaction_id}/refund
Refund a credit card transaction directly using the transaction ID. If partially refunding, provide the amount property in the request body. If the amount property is not provided, the transaction will be refunded entirely.
Note: This is not the recommended method and should be avoided if you wish to run detailed metrics reports on a per item type basis. Use the VoidSale, RefundProductSale, RefundShipment, RefundTax, or RefundSubscriptionRenewal operations in order to target the specific item in question.
Permissiontransaction:create_refund

Search Transactions

GET/transactions/search
Find transactions using a search term and return up to ten relevance-ordered summaries. Use a result’s id with GetTransaction for fuller details. Results are not exhaustive or paginated.
Useful for finding a transaction when you do not know the transaction ID and wish to retrieve the details of a specific transaction. Once a transaction has been found, use an individual search results' id property and the GetTransaction operation to retrieve the transaction details. Important: If using the SearchTransactions and GetTransaction method within a public facing flow, i.e. a visitor is providing the search input in a public chat bot, it is highly recommended that you also verify the visitor is indeed related to the transaction using a secondary non-provided value, such as the customer email in the GetTransaction response, before providing information or taking action.
Permissiontransaction:search

Trials

A trial is created during a sale in which a product with a trial period is sold. Trials are their own entity and are automatically expired with payment by RevCent on each trials' expiration date. Use the API to get a list of trials created during a specified date range, get a single trial by ID, extend a trial, shorten a trial, cancel a trial, expire a trial and get trials specific to a customer.

Get Trials

GET/trials
Retrieve a page of trials with available product, customer, financial and lifecycle information. Results are ordered from newest to oldest. Use a returned trial ID with GetTrial for details.
date_start, date_end, limit and page are required. The creation-date interval cannot exceed 90 days unless customer_id is supplied; dates still apply. Only pages through 20 are accessible, even when total_pages is larger. Narrow the creation-date range or supported filters when needed.
Permissiontrial:retrieve

Expire A Trial

POST/trials/{trial_id}/expire
Expire a trial and process its payment immediately, before its scheduled expiration if needed.
Permissiontrial:expire

Search Trials

GET/trials/search
Find trials using a search term and return up to ten relevance-ordered summaries. Use a result’s id with GetTrial for fuller details. Results are not exhaustive or paginated.
Useful for finding a trial when you do not know the trial ID and wish to retrieve the details of a specific trial. Once a trial has been found, use an individual search results' id property and the GetTrial operation to retrieve the trial details. Important: If using the SearchTrials and GetTrial method within a public facing flow, i.e. a visitor is providing the search input in a public chat bot, it is highly recommended that you also verify the visitor is indeed related to the trial using a secondary non-provided value, such as the customer ZIP code in the GetTrial response, before providing information or taking action.
Permissiontrial:search