Skip to content

Talli Campaign Manager API (v2)

The Talli Campaign Manager API provides programmatic access to create and manage payout campaigns, payout instructions, and reports. This API powers the Talli console interface and can be integrated with third-party systems to automate workflows.

Key Resources

  • Campaigns: Create and manage fund distribution campaigns.
  • Campaign drafts: Create and manage campaign drafts.
  • Payout Instructions: Send and track payments to beneficiaries.
  • Payout Methods: View available payment methods (PayPal, ACH, gift cards, etc.).
  • Payouts: Details about selected payout
    • Gift Cards: View details of a gift card requested by the beneficiary
    • Prepaid Cards: View details of a prepaid card requested by the beneficiary
    • Transfers: View details of Paypal, Venmo or ACH transfer requested by the beneficiary
  • Reports: Access analytics and statistics about campaign performance.
  • Funding sources: Create and manage funding sources.
  • Templates: Create and manage templates.

Authentication

All requests require OAuth 2.0 authentication using Auth0 with appropriate scopes.

Download OpenAPI description
Overview
Languages
Servers
Mock server

https://docs.talli.ai/_mock/reference/swagger/

campaigns

Endpoints for creating and managing campaigns. A campaign represents a distribution of funds to multiple beneficiaries.

Operations

payout-instructions

Endpoints for creating and managing payout instructions. A payout instruction represents an intention to pay a specific amount of money to a beneficiary.It is associated with one and only one campaign.

Operations

payout-methods

Endpoints for viewing and managing available payout methods, such as ACH, PayPal, and gift cards.

Operations

reports

Endpoints for accessing analytics and reporting data about campaigns and payouts.

Operations

ach-transfers

Endpoints for managing ACH bank transfers as a payout method.

Operations

gift-cards

Endpoints for managing gift card payouts and retrieving gift card details.

Operations

paypal-transfers

Endpoints for managing PayPal payouts and retrieving PayPal transfer details.

Operations

prepaid-cards

Endpoints for managing prepaid card payouts and retrieving prepaid card details.

Operations

venmo-transfers

Endpoints for managing Venmo transfers and retrieving Venmo transaction details.

Operations

funding-sources

Represents an account connected to a business entity that can be used as a source of funds for one or multiple campaigns. Each funding source corresponds to a separate bank account in our payment system and maintains it's own banking details and fund management capabilities

Operations
Operations

Request

Retrieves a paginated list of campaign drafts, optionally filtered by funding source ID.

Security
oauth2
Query
pageNumberinteger(int32)
Default 1
pageSizeinteger(int32)
Default 20
fundingSourceIdstring(uuid)
curl -i -X GET \
  'https://docs.talli.ai/_mock/reference/swagger/v2/campaign-manager/campaign-drafts?pageNumber=1&pageSize=20&fundingSourceId=497f6eca-6276-4993-bfeb-53cbbbba6f08' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
pageNumberinteger(int32)
pageSizeinteger(int32)
totalPagesinteger(int32)read-only
totalItemsinteger(int32)
dataArray of objects(Talli.Api.Contracts.Campaigns.CampaignDraftResponse)
Response
application/json
{ "pageNumber": 0, "pageSize": 0, "totalPages": 0, "totalItems": 0, "data": [ { … } ] }

Request

Creates a new campaign draft. All fields are optional as drafts can be saved in incomplete state.

Security
oauth2
Body
namestring or null
fundingSourceIdstring or null(uuid)
welcomeHeadlinestring or null
campaignDescriptionstring or null
campaignManagerstring or null
welcomeTextstring or null
iconFilestring or null(binary)
payoutMethodIdsArray of strings or null(uuid)
expiryDatestring or null(date)
displayEndDatestring or null(date)
validMobilePhoneNumberRequiredToInitiatePayoutInstructionsboolean or null
emailTemplatesobject or null
automaticRemindersinteger(int32)(Talli.Common.Contracts.AutomaticReminders)
Enum"None""FixedIntervals"
curl -i -X POST \
  https://docs.talli.ai/_mock/reference/swagger/v2/campaign-manager/campaign-drafts \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: multipart/form-data' \
  -F name=string \
  -F fundingSourceId=c84f0983-d75c-4a10-a5e5-798ab594a841 \
  -F welcomeHeadline=string \
  -F campaignDescription=string \
  -F campaignManager=string \
  -F welcomeText=string \
  -F iconFile=string \
  -F payoutMethodIds=497f6eca-6276-4993-bfeb-53cbbbba6f08 \
  -F expiryDate=2019-08-24 \
  -F displayEndDate=2019-08-24 \
  -F validMobilePhoneNumberRequiredToInitiatePayoutInstructions=true \
  -F 'emailTemplates[property1]=497f6eca-6276-4993-bfeb-53cbbbba6f08' \
  -F 'emailTemplates[property2]=497f6eca-6276-4993-bfeb-53cbbbba6f08' \
  -F automaticReminders=None

Responses

Created

Bodyapplication/json
idstring(uuid)

The unique identifier for the campaign draft.

namestring or null

The name of the campaign draft.

fundingSourceIdstring or null(uuid)

The funding source identifier associated with the campaign draft.

welcomeHeadlinestring or null

The welcome headline text that will be displayed in the application welcome screen.

campaignDescriptionstring or null

The campaign description of the campaign draft.

campaignManagerstring or null

The name of the campaign manager.

welcomeTextstring or null

The welcome text that will be displayed in the application welcome screen.

iconUrlstring or null

URL to the campaign's icon image that will be displayed in the application welcome screen.

payoutMethodsArray of objects(Talli.Api.Contracts.Campaigns.CampaignDraftPayoutMethodResponse)

Available payout methods for this campaign draft.

expiryDatestring or null(date)

The date when the campaign expires.

displayEndDatestring or null(date)

The date informing beneficiaries when is the end of the campaign.

emailTemplatesobject

The dictionary containing the template ids for given template type.If template type is not provided, the default template will be used.

createdOnstring(date)

The date when the campaign draft was created.

updatedOnstring(date)

The date when the campaign draft was last updated.

validMobilePhoneNumberRequiredToInitiatePayoutInstructionsboolean or null

Indicates whether a valid mobile phone number is required to initiate payout instructions.If this is disabled payouts with no phone number will be sent to customers, but some payout methods might be disabled.

Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "fundingSourceId": "c84f0983-d75c-4a10-a5e5-798ab594a841", "welcomeHeadline": "string", "campaignDescription": "string", "campaignManager": "string", "welcomeText": "string", "iconUrl": "string", "payoutMethods": [ { … } ], "expiryDate": "2019-08-24", "displayEndDate": "2019-08-24", "emailTemplates": { "InitiateEmail": "503f450d-21f7-4241-8734-82f102b59ff5", "ReminderEmail": "03f0f4e9-1347-456b-b068-11b85982c26d", "FailureReinitiateEmail": "207ac805-d6ae-4273-ab26-39cbfcc79f64", "OtpEmail": "a3326353-6367-4e5f-8f06-0ff770a372f8", "PushEmail": "42bd2676-4464-4f74-b80c-1dd80b6a2e4d" }, "createdOn": "2019-08-24", "updatedOn": "2019-08-24", "validMobilePhoneNumberRequiredToInitiatePayoutInstructions": true }

Request

Security
oauth2
Path
idstring(uuid)required
curl -i -X GET \
  'https://docs.talli.ai/_mock/reference/swagger/v2/campaign-manager/campaign-drafts/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
idstring(uuid)

The unique identifier for the campaign draft.

namestring or null

The name of the campaign draft.

fundingSourceIdstring or null(uuid)

The funding source identifier associated with the campaign draft.

welcomeHeadlinestring or null

The welcome headline text that will be displayed in the application welcome screen.

campaignDescriptionstring or null

The campaign description of the campaign draft.

campaignManagerstring or null

The name of the campaign manager.

welcomeTextstring or null

The welcome text that will be displayed in the application welcome screen.

iconUrlstring or null

URL to the campaign's icon image that will be displayed in the application welcome screen.

payoutMethodsArray of objects(Talli.Api.Contracts.Campaigns.CampaignDraftPayoutMethodResponse)

Available payout methods for this campaign draft.

expiryDatestring or null(date)

The date when the campaign expires.

displayEndDatestring or null(date)

The date informing beneficiaries when is the end of the campaign.

emailTemplatesobject

The dictionary containing the template ids for given template type.If template type is not provided, the default template will be used.

createdOnstring(date)

The date when the campaign draft was created.

updatedOnstring(date)

The date when the campaign draft was last updated.

validMobilePhoneNumberRequiredToInitiatePayoutInstructionsboolean or null

Indicates whether a valid mobile phone number is required to initiate payout instructions.If this is disabled payouts with no phone number will be sent to customers, but some payout methods might be disabled.

Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "fundingSourceId": "c84f0983-d75c-4a10-a5e5-798ab594a841", "welcomeHeadline": "string", "campaignDescription": "string", "campaignManager": "string", "welcomeText": "string", "iconUrl": "string", "payoutMethods": [ { … } ], "expiryDate": "2019-08-24", "displayEndDate": "2019-08-24", "emailTemplates": { "InitiateEmail": "503f450d-21f7-4241-8734-82f102b59ff5", "ReminderEmail": "03f0f4e9-1347-456b-b068-11b85982c26d", "FailureReinitiateEmail": "207ac805-d6ae-4273-ab26-39cbfcc79f64", "OtpEmail": "a3326353-6367-4e5f-8f06-0ff770a372f8", "PushEmail": "42bd2676-4464-4f74-b80c-1dd80b6a2e4d" }, "createdOn": "2019-08-24", "updatedOn": "2019-08-24", "validMobilePhoneNumberRequiredToInitiatePayoutInstructions": true }

Request

Security
oauth2
Path
idstring(uuid)required
Bodyapplication/jsonrequired
operationsArray of objects(Json.Patch.PatchOperation)
curl -i -X PATCH \
  'https://docs.talli.ai/_mock/reference/swagger/v2/campaign-manager/campaign-drafts/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "operations": [
      {
        "op": "Unknown",
        "value": {
          "options": {
            "propertyNameCaseInsensitive": true
          },
          "parent": {},
          "root": {}
        }
      }
    ]
  }'

Responses

OK

Response
No content

Request

Deletes a campaign draft by ID.

Security
oauth2
Path
idstring(uuid)required
curl -i -X DELETE \
  'https://docs.talli.ai/_mock/reference/swagger/v2/campaign-manager/campaign-drafts/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

No Content

Response
No content

Request

Updates the icon for an existing campaign draft.

Security
oauth2
Path
idstring(uuid)required
Bodymultipart/form-data
iconFilestring(binary)
curl -i -X PATCH \
  'https://docs.talli.ai/_mock/reference/swagger/v2/campaign-manager/campaign-drafts/{id}/campaign-icon' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: multipart/form-data' \
  -F iconFile=string

Responses

OK

Response
No content

Promote Campaign Draft to Campaign

Request

Security
oauth2
Path
idstring(uuid)required
curl -i -X POST \
  'https://docs.talli.ai/_mock/reference/swagger/v2/campaign-manager/campaign-drafts/{id}/:promote' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Accepted

Response
No content
Operations