Ad Management
Admin API
>
API Reference
>
v0
>
Marketing / Ads
>
Ad Management
openapi: 3.0.0
info:
title: Ads Management
description: >-
Managing campaigns, ads, and templates to be used for
authenticated channels.
Related service: segments.
version: latest
servers:
- url: 'https://banno.com'
tags:
- name: campaigns
- name: ads
- name: Ad Templates
description: >-
Endpoints to control this Institution's custom templates. Templates are
used as a starting point for creating new ads.
- name: Ad Templates Settings
description: >-
Features for customizing institution-specific settings for Ad Templates.
There is a set of default, global templates. Additionally Institutions's can create
their own custom templates. Endpoints with this tag allow for modififying
attributes such as visibility (whether or not the template can be seen/used
for new ads).
paths:
'/a/ads-management/api/v0/institutions/{institutionId}/campaigns':
get:
tags:
- campaigns
summary: List campaigns
description: Requires the "View digital banking ads" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Campaign'
'404':
description: Http NotFound
'500':
description: Internal server error.
deprecated: false
post:
tags:
- campaigns
summary: Create a campaign
description: Requires the "Edit digital banking ads" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
requestBody:
description: CreateCampaign
content:
application/*:
schema:
$ref: '#/components/schemas/CreateCampaign'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign'
'400':
description: Http BadRequest
'422':
description: Http UnprocessableEntity
'500':
description: Internal server error.
deprecated: false
'/a/ads-management/api/v0/institutions/{institutionId}/campaigns/{campaignId}':
get:
tags:
- campaigns
summary: Get a campaign
description: Requires the "View digital banking ads" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
- $ref: '#/components/parameters/CampaignId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign'
'404':
description: Http NotFound
'500':
description: Internal server error.
deprecated: false
put:
tags:
- campaigns
summary: Update a campaign
description: Requires the "Edit digital banking ads" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
- $ref: '#/components/parameters/CampaignId'
requestBody:
description: UpdateCampaign
content:
application/*:
schema:
$ref: '#/components/schemas/UpdateCampaign'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign'
'400':
description: Http BadRequest
'404':
description: Http NotFound
'422':
description: Http UnprocessableEntity
'500':
description: Internal server error.
deprecated: false
delete:
description: Requires the "Edit digital banking ads" permission
tags:
- campaigns
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
- $ref: '#/components/parameters/CampaignId'
responses:
'204':
description: NoContent response when successful
'500':
description: Internal server error.
deprecated: false
'/a/ads-management/api/v0/institutions/{institutionId}/templates':
get:
tags:
- Ad Templates
summary: List ad templates for FI
description: Requires the "View digital banking ads" permission and the "Manage templates" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AdTemplate'
'404':
description: Http NotFound
'500':
description: Internal server error.
deprecated: false
post:
tags:
- Ad Templates
summary: Create an ad template
description: Requires the "Manage templates" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
requestBody:
description: CreateAdTemplate
content:
application/*:
schema:
$ref: '#/components/schemas/CreateAdTemplate'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AdTemplate'
'400':
description: Http BadRequest
'422':
description: Http UnprocessableEntity
'500':
description: Internal server error.
deprecated: false
'/a/ads-management/api/v0/institutions/{institutionId}/templates/{templateId}':
get:
tags:
- Ad Templates
summary: Get an ad template
description: Requires the "View digital banking ads" permission and the "Manage templates" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
- $ref: '#/components/parameters/TemplateId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AdTemplate'
'404':
description: Http NotFound
'500':
description: Internal server error.
deprecated: false
put:
tags:
- Ad Templates
summary: Update an ad template
description: Requires the "Manage templates" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
- $ref: '#/components/parameters/TemplateId'
requestBody:
description: UpdateAdTemplate
content:
application/*:
schema:
$ref: '#/components/schemas/UpdateAdTemplate'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AdTemplate'
'400':
description: Http BadRequest
'404':
description: Http NotFound
'422':
description: Http UnprocessableEntity
'500':
description: Internal server error.
deprecated: false
delete:
description: Requires the "Manage templates" permission
tags:
- Ad Templates
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
- $ref: '#/components/parameters/TemplateId'
responses:
'204':
description: NoContent response when successful
'500':
description: Internal server error.
'/a/ads-management/api/v0/institutions/{institutionId}/templates/{templateId}/settings':
get:
tags:
- Ad Templates Settings
summary: Show ad template settings
description: Requires the "View digital banking ads" permission and the "Manage templates" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
- $ref: '#/components/parameters/TemplateId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AdTemplateSettings'
'404':
description: Http NotFound
'500':
description: Internal server error.
deprecated: false
put:
tags:
- Ad Templates Settings
summary: Update ad template settings
description: Requires the "Manage templates" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
- $ref: '#/components/parameters/TemplateId'
requestBody:
description: UpdateAdTemplateSettings
content:
application/*:
schema:
$ref: '#/components/schemas/UpdateAdTemplateSettings'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AdTemplateSettings'
'400':
description: Http BadRequest
'404':
description: Http NotFound
'422':
description: Http UnprocessableEntity
'500':
description: Internal server error.
deprecated: false
'/a/ads-management/api/v0/institutions/{institutionId}/templates/settings':
get:
tags:
- Ad Templates Settings
summary: Show all ad template settings
description: Requires the "View digital banking ads" permission and the "Manage templates" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AdTemplateSettings'
'500':
description: Internal server error.
deprecated: false
'/a/ads-management/api/v0/institutions/{institutionId}/ads':
get:
tags:
- ads
summary: List ads for FI
description: Requires the "View digital banking ads" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Ad'
'404':
description: Http NotFound
'500':
description: Internal server error.
deprecated: false
post:
tags:
- ads
summary: Create an ad template
description: Requires the "Edit digital banking ads" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
requestBody:
description: CreateAd
content:
application/*:
schema:
$ref: '#/components/schemas/CreateAd'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Ad'
'400':
description: Http BadRequest
'422':
description: Http UnprocessableEntity
'500':
description: Internal server error.
deprecated: false
'/a/ads-management/api/v0/institutions/{institutionId}/ads/{adId}':
get:
tags:
- ads
summary: Get an ad
description: Requires the "View digital banking ads" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
- $ref: '#/components/parameters/AdId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Ad'
'404':
description: Http NotFound
'500':
description: Internal server error.
deprecated: false
put:
tags:
- ads
summary: Update an ad
description: Requires the "Edit digital banking ads" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
- $ref: '#/components/parameters/AdId'
requestBody:
description: UpdateAd
content:
application/*:
schema:
$ref: '#/components/schemas/UpdateAd'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Ad'
'400':
description: Http BadRequest
'404':
description: Http NotFound
'422':
description: Http UnprocessableEntity
'500':
description: Internal server error.
deprecated: false
delete:
tags:
- ads
description: Requires the "Edit digital banking ads" permission
security:
- clientCredentials: []
parameters:
- $ref: '#/components/parameters/InstitutionId'
- $ref: '#/components/parameters/AdId'
responses:
'204':
description: NoContent response when successful
'500':
description: Internal server error.
components:
securitySchemes:
clientCredentials:
type: oauth2
description: OAuth2 using the client credentials flow
flows:
clientCredentials:
tokenUrl: https://banno.com/a/oidc-provider/api/v0/token
scopes: {}
parameters:
InstitutionId:
name: institutionId
in: path
required: true
schema:
type: string
CampaignId:
name: campaignId
in: path
required: true
schema:
type: string
TemplateId:
name: templateId
in: path
required: true
schema:
type: string
AdId:
name: adId
in: path
required: true
schema:
type: string
schemas:
Campaign:
required:
- campaignId
- institutionId
- title
- description
- ads
- startDate
- active
- createdAt
type: object
properties:
campaignId:
type: string
description: UUID
institutionId:
type: string
description: UUID
title:
type: string
description:
type: string
ads:
type: array
items:
type: string
description: UUID
segmentId:
type: string
description: UUID
startDate:
type: string
format: date-time
endDate:
type: string
format: date-time
active:
type: boolean
createdAt:
type: string
format: date-time
CreateCampaign:
required:
- title
- description
- ads
- active
type: object
properties:
title:
type: string
description:
type: string
ads:
type: array
items:
type: string
description: UUID
startDate:
type: string
format: date-time
endDate:
type: string
format: date-time
active:
type: boolean
UpdateCampaign:
required:
- title
- description
- ads
- active
type: object
properties:
title:
type: string
description:
type: string
ads:
type: array
items:
type: string
description: UUID
segmentId:
type: string
description: UUID
startDate:
type: string
format: date-time
endDate:
type: string
format: date-time
active:
type: boolean
AdTemplate:
required:
- createdAt
- updatedAt
- updatedBy
- title
- description
- templateType
- fields
- html
- templateId
- published
type: object
properties:
title:
type: string
description:
type: string
templateType:
type: string
enum:
- banking
- web
forInstitutionId:
type: string
description: UUID
templateId:
type: string
description: UUID
fields:
type: array
items:
$ref: '#/components/schemas/Block'
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
updatedBy:
$ref: '#/components/schemas/UpdatedByUser'
html:
type: string
published:
type: boolean
description: >-
Ads can only be created with a template once this value has been set
to true. Once it is true, it can't be changed back to false.
defaultWidth:
type: number
archivedAt:
type: string
format: date-time
UpdatedByUser:
properties:
userId:
type: string
description: UUID
userName:
type: string
CreateAdTemplate:
required:
- title
- description
- templateType
- fields
- html
- published
type: object
properties:
title:
type: string
description:
type: string
templateType:
type: string
enum:
- banking
- web
forInstitutionId:
type: string
description: UUID
fields:
type: array
items:
$ref: '#/components/schemas/Block'
html:
type: string
published:
type: boolean
defaultWidth:
type: number
UpdateAdTemplate:
required:
- title
- description
- html
- published
type: object
properties:
title:
type: string
description:
type: string
fields:
type: array
items:
$ref: '#/components/schemas/Block'
html:
type: string
published:
type: boolean
defaultWidth:
type: number
AdTemplateSettings:
required:
- institutionId
- templateId
- visible
type: object
properties:
institutionId:
type: string
description: UUID
templateId:
type: string
description: UUID
visible:
type: boolean
UpdateAdTemplateSettings:
required:
- visible
type: object
properties:
visible:
type: boolean
Ad:
required:
- active
- adId
- title
- createdAt
- institutionId
- templateId
- values
type: object
properties:
institutionId:
type: string
description: UUID
templateId:
type: string
description: UUID
title:
type: string
createdAt:
type: string
format: date-time
values:
type: array
items:
$ref: '#/components/schemas/AdValue'
description: >-
These values can only be updated for unpublished templates. Once a
template is published, this field will be ignored.
adId:
type: string
description: UUID
active:
type: boolean
CreateAd:
required:
- title
- active
- templateId
- values
type: object
properties:
title:
type: string
templateId:
type: string
description: UUID
active:
type: boolean
values:
type: array
items:
$ref: '#/components/schemas/AdValue'
UpdateAd:
required:
- title
- active
- values
type: object
properties:
title:
type: string
active:
type: boolean
values:
type: array
items:
$ref: '#/components/schemas/AdValue'
AdValue:
required:
- id
- value
type: object
properties:
id:
$ref: '#/components/schemas/FieldIdentifier'
value:
$ref: '#/components/schemas/FieldValue'
FieldIdentifier:
required:
- blockName
- fieldName
type: object
properties:
blockName:
type: string
fieldName:
type: string
FieldValue:
oneOf:
- $ref: '#/components/schemas/StringFieldValue'
- $ref: '#/components/schemas/MultiStringFieldValue'
- $ref: '#/components/schemas/FileFieldValue'
StringFieldValue:
required:
- value
type: object
properties:
value:
type: string
MultiStringFieldValue:
required:
- values
type: object
properties:
values:
type: array
items:
type: string
FileFieldValue:
required:
- filename
- size
type: object
properties:
filename:
type: string
size:
type: integer
format: int32
contentType:
type: string
bytes:
type: array
items:
type: string
format: byte
Block:
type: object
description: 'Form block schema, defined in the Blocks platform-api doc.'
Have a Question?
Have a how-to question? Seeing a weird error? Get help on
StackOverflow.
Register for the Digital Toolkit Meetup
where we answer technical Q&A from the audience.
Last updated Wed Aug 4 2021