Skip to main content
POST
Create or Update Project
Programmatically create new Projects or update existing ones. Projects are the top-level container in DNCScrub for organizing campaigns, scrub options, and Internal DNC lists. If the supplied project_code already exists, the endpoint updates the existing Project. If it does not exist, a new Project is created with a default Campaign.

Request

Headers

string
required
Your API Key

Query / Form Parameters

string
required
Project code to insert or update. Will be uppercased and trimmed.If your account has auto-prefixing enabled, the prefix <acctId>_ is added automatically when missing.Pass projId=<acctId> instead of project_code to operate on the Master Project.
string
required
Display name of the Project.
string
FTC Org Id or SAN. When supplied on a new Project, the value is validated against the FTC; if a SAN is supplied, the corresponding Org Id is resolved and stored.
string
Internal handler override. The endpoint normally infers this:
  • insert_project - new project (auto-selected when project_code does not exist)
  • update_project - update existing project (auto-selected when it exists)
  • deactivate_project - mark project inactive
  • reactivate_project - reactivate an inactive project
string
Pass xml to return a full XML document describing the resulting Project, its Campaigns, and (for SmartBlock-enabled accounts) SmartBlock settings.
string
Free-form project notes.
boolean
Inherit the Master Project’s Internal DNC / DNM database.
boolean
Inherit the Master Project’s EBR / override database.
boolean
Inherit the Master Project’s DNC policy.
boolean
Inherit the Master Project’s national DNC subscription.
boolean
Inherit the Master Project’s training materials.

Example Request

Response

When output=xml is supplied, the response body is an XML document rooted at <DncCompliance><DncScrub><Accounts><Account><Projects>...</Projects></Account></Accounts></DncScrub></DncCompliance> containing the Project, its Campaigns, and any FTC Org Id metadata that was just resolved.

Reactivating an Inactive Project

If project_code matches an inactive Project, the endpoint returns 403 Inactive Project unless you explicitly request reactivation:

Master Project Operations

Pass projId=<acctId> (with no project_code) to update settings on your account’s Master Project:

Listing All Projects

There is no separate list endpoint - this same endpoint returns a full project enumeration when you target the Master Project with output=xml and no fields to update. Because no fields change, the call is read-only:
The XML response lists every Project the account can access (including cross-account projects), each Project’s Campaigns, and each Campaign’s status. To list a single Project instead, pass that Project’s projId rather than your account ID. To get details for a single Project, pass that Project’s projId:

Best Practices

The same request creates a Project on first call and updates it on subsequent calls. Use the HTTP status code (201 vs 200) to tell the cases apart.
Adding output=xml to a create request returns the new Project’s full record (including the auto-created default Campaign) so you don’t need a follow-up call to get its IDs.
Supplying nat_dnc_org_id on a new Project triggers FTC validation. Make sure the Org Id (or SAN) is correct, or the create will fail with an FTC error message.
Project codes are uppercased automatically. Avoid the _ character in your raw code if your account uses auto-prefixing - the prefix delimiter is _.