Skip to content

List campaigns

GET
/api/v1/campaigns
curl --request GET \
--url 'https://external-api.moja-ai.com/api/v1/campaigns?limit=20&offset=0' \
--header 'X-API-Key: <X-API-Key>'
limit
Limit
integer
default: 20 >= 1 <= 200
offset
Offset
integer
0
X-API-Key
Any of:
string

Successful Response

Media typeapplication/json
CampaignListResponse
object
data
required
Data
Array<object>
CampaignResponse
object
id
required
Id
string
created_at
Any of:
string format: date-time
updated_at
Any of:
string format: date-time
name
required
Name
string
org_id
required
Org Id
string
routing_plan_id
Any of:
string
call_flow_id
Any of:
string
execution_mode
required
Execution Mode
string
is_active
required
Is Active
boolean
payout
Any of:
number
timezone
Any of:
string
conversion_scope
required
Conversion Scope
integer
qai_category_id
Any of:
integer
tcpa_scrubbing
Any of:
string
tcpa_scrubbing_config
Any of:
CampaignTCPAScrubbingConfig

id is the DB row uuid (campaign_tcpa_scrubbing_configs.uuid) for stable PATCH round-trips.

object
id
Any of:
string
>= 1 characters <= 36 characters
api_key
Any of:
string
<= 255 characters
api_version
Any of:
string
Allowed values: v1 v2 v3
api_url
Any of:
string
allow_calls_on_failure
Allow Calls On Failure
boolean
default: true
number_group_items
Number Group Items
Array<object>
CampaignNumberGroupItem

id is campaign_number_group_items.uuid (stable row id). Includes pause state on reads.

object
id
Any of:
string
>= 1 characters <= 36 characters
number_id
required
Number Id
string
publisher_id
Any of:
string
type
Type
string
default: static
Allowed values: static dynamic
payout
Any of:
number
payout_condition
Any of:
string
payout_condition_duration
Any of:
integer
payout_percentage
Any of:
number
external_id
Any of:
string
>= 1 characters <= 64 characters
is_active
Is Active
boolean
default: true
number
Any of:
string
publisher_name
Any of:
string
paused_until
Any of:
string format: date-time
paused_at
Any of:
string format: date-time
paused_by
Any of:
string
is_paused
Is Paused
boolean
ivr_payout_rules
Ivr Payout Rules
Array<object>
CampaignIVRPayoutRule

id is campaign_ivr_payout_rules.uuid; legacy_rule_id is the legacy JSON rule key when distinct.

object
id
Any of:
string
>= 1 characters <= 36 characters
legacy_rule_id
Any of:
string
combinator
Combinator
string
default: and
Allowed values: and or
payout
Payout
number
0
filters
Filters
Array<object>
object
key
additional properties
any
outgoing_webhooks
Outgoing Webhooks
Array<string>
incoming_webhooks
Incoming Webhooks
Array<string>
preconverted_caller
Preconverted Caller
boolean
preconverted_destination
Preconverted Destination
boolean
preconverted_publisher
Preconverted Publisher
boolean
preconverted_campaign
Preconverted Campaign
boolean
external_id
Any of:
string
disable_recordings
Disable Recordings
boolean
access_to_call_recordings
required
Access To Call Recordings
boolean
expose_ineligible_routes
Expose Ineligible Routes
boolean
ineligible_routes_fields
Any of:
string
routing_plan
Any of:
ResourceRef
object
id
required
Id
string
name
Any of:
string
advanced_caps
Advanced Caps
Array<object>
object
key
additional properties
any
meta
required
PaginatedResponseMeta
object
limit
required
Limit
integer
offset
required
Offset
integer
count
required
Count
integer
total
required
Total
integer
has_more
required
Has More
boolean
next_offset
Any of:
integer
previous_offset
Any of:
integer
Example
{
"data": [
{
"tcpa_scrubbing_config": {
"api_version": "v1",
"api_url": "https://api.blacklistalliance.net/lookup?key=abc123&ver=v1&resp=raw&phone=",
"allow_calls_on_failure": true
},
"number_group_items": [
{
"type": "static",
"is_active": true,
"is_paused": false
}
],
"ivr_payout_rules": [
{
"combinator": "and",
"payout": 0,
"filters": [
{
"field": "keypress",
"operator": "equals",
"value": "1"
}
]
}
],
"preconverted_caller": false,
"preconverted_destination": false,
"preconverted_publisher": false,
"preconverted_campaign": false,
"disable_recordings": false,
"expose_ineligible_routes": false
}
]
}

Bad Request

Media typeapplication/json
ErrorResponse
object
detail
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
Examplegenerated
{
"detail": {
"code": "example",
"message": "example"
}
}

Unauthorized

Media typeapplication/json
ErrorResponse
object
detail
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
Examplegenerated
{
"detail": {
"code": "example",
"message": "example"
}
}

Not Found

Media typeapplication/json
ErrorResponse
object
detail
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
Examplegenerated
{
"detail": {
"code": "example",
"message": "example"
}
}

Conflict

Media typeapplication/json
ErrorResponse
object
detail
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
Examplegenerated
{
"detail": {
"code": "example",
"message": "example"
}
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}

Too Many Requests

Media typeapplication/json
ErrorResponse
object
detail
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
Examplegenerated
{
"detail": {
"code": "example",
"message": "example"
}
}