List campaigns
/v1/campaignsCampaigns in your organization, newest first. Paginated with limit and offset: keep requesting while has_more is true.
Headers
AuthorizationstringRequiredBearerfollowed by a space and your API key, for exampleBearer vk_….
Query parameters
limitintegerMaximum rows to return
≥ 1≤ 500Default500offsetintegerRows to skip before returning results
≥ 0Default0
Response
200
totalintegerRequiredTotal rows matching the query, across all pages
limitintegerRequiredPage size that was applied
offsetintegerRequiredRows skipped before this page
has_morebooleanRequiredWhether a further page exists
messagestringRequiredcampaignsarray of objectsRequiredList of campaigns found
Show 7 child attributesHide child attributes
idstringRequiredCampaign UUID
Example"550e8400-e29b-41d4-a716-446655440000"descriptionstring or nullCampaign description
Example"Targeting enterprise accounts in the tech sector"is_activeboolean or nullWhether the campaign is currently active
Exampletruenamestring or nullCampaign name
Example"Q1 Enterprise Outreach"organization_idstring or nullOrganization ID that owns this campaign
Example"123e4567-e89b-12d3-a456-426614174000"refill_policyobject or nullAutomatic lead-refill settings for the campaign (
enabled,min_backlog,max_add_per_run, …).nullmeans low queues are reported but not refilled.user_idstring or nullUser ID that created this campaign
Example"987fcdeb-51a2-4d4e-b567-890123456789"
countintegerRequiredCampaigns in this page. Deprecated: use
totalsuccessbooleanDefaulttrue
Errors
Errors share one JSON body: success, error, message, optional details, and request_id.
| Status | Code | Meaning |
|---|---|---|
| 400 | VALIDATION_ERROR | The request didn't match the endpoint's schema: a missing or malformed field, a bad query parameter, or a value out of range. |
| 401 | UNAUTHORIZED | The |
| 401 | API_KEY_EXPIRED | The API key is past its expiry date. Create a new key in the Victoria AI app. |
| 403 | INSUFFICIENT_SCOPE | The API key doesn't have the scope this endpoint requires, such as |
| 403 | ORGANIZATION_DEACTIVATED | The organization that owns this API key has been deactivated. |
| 429 | RATE_LIMITED | Too many requests for this API key: more than 100 a minute to one endpoint, or 600 a minute in total. Retry after the number of seconds in the |
| 500 | INTERNAL_ERROR | Something failed on our side. The response never includes internal details; quote its |
| 503 | UPSTREAM_TIMEOUT | A service the API depends on timed out. The request is safe to retry. |
| 503 | AUTH_UNAVAILABLE | The API key couldn't be checked because the authentication service was unavailable. The request is safe to retry. |
Response headers
| Header | Description |
|---|---|
X-Request-ID | Correlation ID for the request, also returned as |
RateLimit-Limit | Requests allowed to this endpoint per minute. |
RateLimit-Remaining | Requests you can still send to this endpoint right now. |
RateLimit-Reset | Seconds until the endpoint's full limit is available again. |
Retry-After | On a |