Advertising Campaigns v0.12.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Manages advertising campaigns for inclusion in Xpress mobile and web applications. A campaign is an advertising effort that has a name, description/purpose, audience (list of users), one or more different digital ads (images or other content to inject into the client applications), a duration, and a state. Campaigns start in a draft
state when created. The admin user can then publish the campaign (awaiting the beginning of its schedule). It is running
during its scheduled time frame. After that period ends, it is completed
, or the admin may cancel the campaign before its completion. Clients can create new campaigns from scratch, or they may clone existing campaigns (create a campaign as copyOf
an existing campaign. Completed campaigns cannot be resumed/restarted; clone the campaign so the clone collects its own metrics. Running, canceled, and completed campaigns are immutable (one cannot change a running campaign's ads). Completed and cancelled campaigns can also be archived.
A campaign has one or more advertisements or ads. An ad can have specific imagery or other text content, and a "Call to Action" link (URL) and label text. Cloning a campaign also clones the ads in it.
This API also presents advertising metrics for running or completed campaigns: the number of impressions (how often ads were presented to users), the number of click in the ads, and the number of times users followed the ad's call to action.
Campaigns are associated with audiences which are lists of users. This API does not provide features to build audience lists based on desired selection criteria, heuristics, or models. Audience resources are immutable.
Campaigns are associated with the institution identified by the institutionId
passed in the createCampaign
request body. Access to campaigns is also guarded by the institutionId
, and 403 Forbidden error responses are returned if the caller's institution does match the institutionId
of the campaign.
File uploads
This API has operations to support uploading files from the client, such as campaign ad banner images or CSV customer lists.
To upload a file, first POST
a request to the /uploads
path with the description of file to be uploaded. The response contains a link for uploading the file content. The client should next PUT
the file(s) content to the upload URL from that response link in order to upload the file's content. The upload is done when the upload resource's state
is completed
or failed
. After uploading, the file's content can be accessed via a GET
to the apiture:content
link's href in the upload resource. For example, after uploading a banner image, use the apiture:content
href
URL as the imageUri
for the creating a campaign ad.
Error Types
Error responses in this API may have one of the type
values described below.
See Errors for more information
on error responses and error types.
campaignIsImmutable
Description: Cannot update an ad if the campaign is running, canceled, or completed.
Remediation: Only update campaigns and ads for draft or pending campaigns.
campaignRefNotFound
Description: No such campaign for the given campaign
query parameter.
Remediation: Supply a valid campaign ID, or use links in valid campaign resources.
invalidDateRange
Description: The date range is invalid. For example, the start or end date is in the future or is after the end date.
Remediation: Specify a valid date range where the start is before the end date, and both dates are not in the future.
maliciousData
Description: The file is rejected because it contains possibly malicious content, such as an executable.
Remediation: Upload only safe file content.
tooLarge
Description: The file exceeds the maximum allowed file size.
Remediation: Use a smaller file.
Download OpenAPI Definition (YAML)
Base URLs:
Authentication
- OAuth2 authentication (
accessToken
)- OAuth2 client access token authentication. See details at Secure Access.
- Flow:
authorizationCode
- Authorization URL = https://auth.apiture.com/oauth2/authorize
- Token URL = https://auth.apiture.com/auth/oauth2/token
Scope | Scope Description |
---|---|
admin/delete |
Delete access to system configuration. |
admin/full |
Full access to system configuration. |
admin/read |
Read access to system configuration. |
admin/write |
Write (update) access to system configuration. |
- API Key (
apiKey
)- header parameter: API-Key
- API Key based authentication. See details at Secure Access.
Campaigns
Advertising Campaigns
getCampaigns
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/axbiAdminAdvertising/campaigns?institutionId=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
GET https://api.apiture.com/axbiAdminAdvertising/campaigns?institutionId=string HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns?institutionId=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns',
method: 'get',
data: '?institutionId=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.apiture.com/axbiAdminAdvertising/campaigns',
params: {
'institutionId' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.apiture.com/axbiAdminAdvertising/campaigns', params={
'institutionId': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns?institutionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/axbiAdminAdvertising/campaigns", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a collection of campaigns
GET https://api.apiture.com/axbiAdminAdvertising/campaigns
Return a paginated sortable filterable collection of campaigns. The links in the response include pagination links.
Parameters
Parameter | Description |
---|---|
institutionId in: query | string (required) Limit results to the financial institution identified by this unique institution ID. minLength: 4 maxLength: 64 |
archived in: query | boolean Only return campaigns that have archived value of true . |
closed in: query | boolean Only return campaigns that have a state of completed or canceled . This is equivalent to using a ?filter= expression in(state,'completed','canceled') . |
start in: query | integer(int64) The zero-based index of the first campaign item to include in this page. The default 0 denotes the beginning of the collection. format: int64 default: 0 |
limit in: query | integer(int32) The maximum number of campaign representations to return in this page. format: int32 default: 100 |
sortBy in: query | string Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2 .This collection may be sorted by the following properties: • state • name • createdAt • updatedAt . |
filter in: query | string Optional filter criteria. See filtering. This collection may be filtered by the following properties and functions: • Property state using functions eq , in • Property archived using functions eq • Property name using functions eq , contains , startsWith • Property createdBy using functions eq , contains , startsWith • Property createdAt using functions lt , le , gt , ge • Property updatedBy using functions eq , contains , startsWith • Property updatedAt using functions lt , le , gt , ge • Property invalidCustomerIdCount using functions eq , ne , lt , le , gt , ge . |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaigns/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns?start=10&limit=10"
},
"collection": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns"
},
"first": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns?start=0&limit=10"
},
"next": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns?start=20&limit=10"
}
},
"name": "campaigns",
"_embedded": {
"items": [
{
"_id": "0399abed-fd3d",
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/summaryCampaign/v1.2.0/profile.json",
"institutionId": "3RDPARTYBANK",
"name": "PFM Promotion",
"description": "Promote the financial institution's personal financial management module.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"createdAt": "2021-07-02T10:30:43.375Z",
"updatedAt": "2021-07-02T10:30:43.375Z",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
}
}
},
{
"_id": "d62c0701-0d74",
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/summaryCampaign/v1.2.0/profile.json",
"institutionId": "3RDPARTYBANK",
"name": "Holiday Promotion",
"description": "Promote the financial institution's holiday savings plans",
"schedule": [
{
"startAt": "2021-11-01T12:00:00.00Z",
"endAt": "2021-12-20T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"createdAt": "2021-07-02T10:30:43.375Z",
"updatedAt": "2021-07-02T10:30:43.375Z",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/d62c0701-0d74"
}
}
}
]
},
"count": 2,
"limit": 2,
"start": 0
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: campaigns |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The caller does not have authority to access campaigns for the given institutionId . | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
createCampaign
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/axbiAdminAdvertising/campaigns \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
POST https://api.apiture.com/axbiAdminAdvertising/campaigns HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/createCampaign/v1.0.0/profile.json",
"_links": {},
"name": "PFM Promotion",
"description": "Promote the financial institution's personal financial management module.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"institutionId": "3RDPARTYBANK"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.post 'https://api.apiture.com/axbiAdminAdvertising/campaigns',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.post('https://api.apiture.com/axbiAdminAdvertising/campaigns', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/axbiAdminAdvertising/campaigns", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new campaign
POST https://api.apiture.com/axbiAdminAdvertising/campaigns
Create a new advertising campaign, adding it to the the campaigns collection. The request may include an copyOf
query parameter to make a copy of an existing campaign. The state
of the new campaign is always draft
. Use publishCampaign
publish (schedule) the new campaign.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/createCampaign/v1.0.0/profile.json",
"_links": {},
"name": "PFM Promotion",
"description": "Promote the financial institution's personal financial management module.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"institutionId": "3RDPARTYBANK"
}
Parameters
Parameter | Description |
---|---|
copyOf in: query | string Make a new campaign that is a copy of an existing campaign, its campaign ads, and its audience. The parameter value is the _id ({campaignId} ) of the campaign to copy. Values in the request body override those from the existing campaign, except for _id , state , invalidCustomerIdCount , createdAt , createdBy , updatedAt and updatedBy which are reset or unset accordingly. |
body | createCampaign The data necessary to create a new campaign. |
Example responses
201 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaign/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
},
"apiture:audienceCsvUri": {
"href": "https://api.devbank.apiture.com/documents/audience-customer-ids/0399abed-fd3d.csv"
},
"apiture:publish": {
"href": "https://api.devbank.apiture.com/axbi-admin/publishedCampaigns?campaign=0399abed-fd3d"
}
},
"name": "Holiday Savings Campaign",
"description": "Promote the savings account for saving for holiday giving.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"_id": "0399abed-fd3d",
"institutionId": "3RDPARTYBANK",
"state": "running",
"archived": false,
"invalidCustomerIdCount": 0,
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"_embedded": {}
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: campaign | |
Header | Location string uri |
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme ://host |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The caller does not have authority to create a campaign or to create a campaign for the given institutionId . | |
Schema: errorResponse |
getCampaign
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId} \
-H 'Accept: application/json' \
-H 'If-None-Match: string' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId} HTTP/1.1
Host: api.apiture.com
Accept: application/json
If-None-Match: string
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'If-None-Match':'string',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'If-None-Match':'string',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'If-None-Match' => 'string',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'If-None-Match': 'string',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"If-None-Match": []string{"string"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this campaign
GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}
Return a HAL representation of this campaign resource.
Parameters
Parameter | Description |
---|---|
If-None-Match in: header | string The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET returns 304 (Not Modified) and no response body, else the resource representation is returned. |
campaignId in: path | string (required) The unique identifier of this campaign. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaign/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
},
"apiture:audienceCsvUri": {
"href": "https://api.devbank.apiture.com/documents/audience-customer-ids/0399abed-fd3d.csv"
},
"apiture:publish": {
"href": "https://api.devbank.apiture.com/axbi-admin/publishedCampaigns?campaign=0399abed-fd3d"
}
},
"name": "Holiday Savings Campaign",
"description": "Promote the savings account for saving for holiday giving.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"_id": "0399abed-fd3d",
"institutionId": "3RDPARTYBANK",
"state": "running",
"archived": false,
"invalidCustomerIdCount": 0,
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: campaign |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such campaign resource at the specified {campaignId} . The _error field in the response contains details about the request error. | |
Schema: errorResponse |
updateCampaign
Code samples
# You can also use wget
curl -X PUT https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
PUT https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId} HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaign/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
},
"apiture:audienceCsvUri": {
"href": "https://api.devbank.apiture.com/documents/audience-customer-ids/0399abed-fd3d.csv"
},
"apiture:publish": {
"href": "https://api.devbank.apiture.com/axbi-admin/publishedCampaigns?campaign=0399abed-fd3d"
}
},
"name": "Holiday Savings Campaign",
"description": "Promote the savings account for saving for holiday giving.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"_id": "0399abed-fd3d",
"institutionId": "3RDPARTYBANK",
"state": "running",
"archived": false,
"invalidCustomerIdCount": 0,
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"_embedded": {}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.put 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.put('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this campaign
PUT https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}
Perform a complete replacement of this campaign.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaign/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
},
"apiture:audienceCsvUri": {
"href": "https://api.devbank.apiture.com/documents/audience-customer-ids/0399abed-fd3d.csv"
},
"apiture:publish": {
"href": "https://api.devbank.apiture.com/axbi-admin/publishedCampaigns?campaign=0399abed-fd3d"
}
},
"name": "Holiday Savings Campaign",
"description": "Promote the savings account for saving for holiday giving.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"_id": "0399abed-fd3d",
"institutionId": "3RDPARTYBANK",
"state": "running",
"archived": false,
"invalidCustomerIdCount": 0,
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"_embedded": {}
}
Parameters
Parameter | Description |
---|---|
body | campaign A new campaign |
campaignId in: path | string (required) The unique identifier of this campaign. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaign/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
},
"apiture:audienceCsvUri": {
"href": "https://api.devbank.apiture.com/documents/audience-customer-ids/0399abed-fd3d.csv"
},
"apiture:publish": {
"href": "https://api.devbank.apiture.com/axbi-admin/publishedCampaigns?campaign=0399abed-fd3d"
}
},
"name": "Holiday Savings Campaign",
"description": "Promote the savings account for saving for holiday giving.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"_id": "0399abed-fd3d",
"institutionId": "3RDPARTYBANK",
"state": "running",
"archived": false,
"invalidCustomerIdCount": 0,
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: campaign |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such campaign resource at the specified {campaignId} . The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
patchCampaign
Code samples
# You can also use wget
curl -X PATCH https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
PATCH https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId} HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaign/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
},
"apiture:audienceCsvUri": {
"href": "https://api.devbank.apiture.com/documents/audience-customer-ids/0399abed-fd3d.csv"
},
"apiture:publish": {
"href": "https://api.devbank.apiture.com/axbi-admin/publishedCampaigns?campaign=0399abed-fd3d"
}
},
"name": "Holiday Savings Campaign",
"description": "Promote the savings account for saving for holiday giving.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"_id": "0399abed-fd3d",
"institutionId": "3RDPARTYBANK",
"state": "running",
"archived": false,
"invalidCustomerIdCount": 0,
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"_embedded": {}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.patch 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.patch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this campaign
PATCH https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}
Perform a partial update of this campaign. Fields which are omitted are not updated. Nested _embedded
and _links
are ignored if included.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaign/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
},
"apiture:audienceCsvUri": {
"href": "https://api.devbank.apiture.com/documents/audience-customer-ids/0399abed-fd3d.csv"
},
"apiture:publish": {
"href": "https://api.devbank.apiture.com/axbi-admin/publishedCampaigns?campaign=0399abed-fd3d"
}
},
"name": "Holiday Savings Campaign",
"description": "Promote the savings account for saving for holiday giving.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"_id": "0399abed-fd3d",
"institutionId": "3RDPARTYBANK",
"state": "running",
"archived": false,
"invalidCustomerIdCount": 0,
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"_embedded": {}
}
Parameters
Parameter | Description |
---|---|
body | campaign The new campaign. |
campaignId in: path | string (required) The unique identifier of this campaign. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaign/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
},
"apiture:audienceCsvUri": {
"href": "https://api.devbank.apiture.com/documents/audience-customer-ids/0399abed-fd3d.csv"
},
"apiture:publish": {
"href": "https://api.devbank.apiture.com/axbi-admin/publishedCampaigns?campaign=0399abed-fd3d"
}
},
"name": "Holiday Savings Campaign",
"description": "Promote the savings account for saving for holiday giving.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"_id": "0399abed-fd3d",
"institutionId": "3RDPARTYBANK",
"state": "running",
"archived": false,
"invalidCustomerIdCount": 0,
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: campaign |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such campaign resource at the specified {campaignId} . The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
deleteCampaign
Code samples
# You can also use wget
curl -X DELETE https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
DELETE https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId} HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.delete 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.delete('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Delete this campaign resource
DELETE https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}
Delete this campaign resource and any resources that are owned by it.
Parameters
Parameter | Description |
---|---|
campaignId in: path | string (required) The unique identifier of this campaign. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
404 Response
{
"_profile": "https://production.api.apiture.com/schemas/common/errorResponse/v2.1.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"_error": {
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"message": "Description of the error will appear here.",
"statusCode": 422,
"type": "specificErrorType",
"attributes": {
"value": "Optional attribute describing the error"
},
"remediation": "Optional instructions to remediate the error may appear here.",
"occurredAt": "2018-01-25T05:50:52.375Z",
"_links": {
"describedby": {
"href": "https://production.api.apiture.com/errors/specificErrorType"
}
},
"_embedded": {
"errors": []
}
}
}
Responses
Status | Description |
---|---|
204 | No Content |
No Content. The resource was deleted successfully. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such campaign resource at the specified {campaignId} . The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Campaign Actions
Actions on Campaign Resources
cancelCampaign
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/axbiAdminAdvertising/canceledCampaigns?campaign=stringstringstri \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
POST https://api.apiture.com/axbiAdminAdvertising/canceledCampaigns?campaign=stringstringstri HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/canceledCampaigns?campaign=stringstringstri',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/canceledCampaigns',
method: 'post',
data: '?campaign=stringstringstri',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.post 'https://api.apiture.com/axbiAdminAdvertising/canceledCampaigns',
params: {
'campaign' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.post('https://api.apiture.com/axbiAdminAdvertising/canceledCampaigns', params={
'campaign': 'stringstringstri'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/canceledCampaigns?campaign=stringstringstri");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/axbiAdminAdvertising/canceledCampaigns", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Cancel a campaign
POST https://api.apiture.com/axbiAdminAdvertising/canceledCampaigns
Cancel a campaign. This changes the state
property of the campaign to canceled
. This operation is available via the apiture:cancel
link on the campaign resource, if and only if the campaign is published
, running
, or suspended
. The response is the updated representation of the campaign. This operation is idempotent: no changes are made if the campaign is already canceled
.
Parameters
Parameter | Description |
---|---|
campaign in: query | string (required) The _id of the campaign to cancel.minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaign/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
},
"apiture:audienceCsvUri": {
"href": "https://api.devbank.apiture.com/documents/audience-customer-ids/0399abed-fd3d.csv"
},
"apiture:publish": {
"href": "https://api.devbank.apiture.com/axbi-admin/publishedCampaigns?campaign=0399abed-fd3d"
}
},
"name": "Holiday Savings Campaign",
"description": "Promote the savings account for saving for holiday giving.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"_id": "0399abed-fd3d",
"institutionId": "3RDPARTYBANK",
"state": "running",
"archived": false,
"invalidCustomerIdCount": 0,
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The operation succeeded. The campaign was updated and its state changed to canceled . | |
Schema: campaign |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The campaign parameter was malformed or does not refer to an existing or accessible campaign. This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. The request to cancel the campaign is not allowed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
archiveCampaign
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/axbiAdminAdvertising/archivedCampaigns?campaign=stringstringstri \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
POST https://api.apiture.com/axbiAdminAdvertising/archivedCampaigns?campaign=stringstringstri HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/archivedCampaigns?campaign=stringstringstri',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/archivedCampaigns',
method: 'post',
data: '?campaign=stringstringstri',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.post 'https://api.apiture.com/axbiAdminAdvertising/archivedCampaigns',
params: {
'campaign' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.post('https://api.apiture.com/axbiAdminAdvertising/archivedCampaigns', params={
'campaign': 'stringstringstri'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/archivedCampaigns?campaign=stringstringstri");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/axbiAdminAdvertising/archivedCampaigns", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Archive a campaign
POST https://api.apiture.com/axbiAdminAdvertising/archivedCampaigns
Archive a campaign. This changes the archived
property of the campaign to true
as well as setting the updatedAt
and updatedBy
properties. This operation is available via the apiture:archive
link on the campaign resource, if and only if the campaign is canceled
or completed
. The response is the updated representation of the campaign. This operation is idempotent: no changes are made if the campaign is already archived.
Parameters
Parameter | Description |
---|---|
campaign in: query | string (required) The _id of the campaign to cancel.minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaign/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
},
"apiture:audienceCsvUri": {
"href": "https://api.devbank.apiture.com/documents/audience-customer-ids/0399abed-fd3d.csv"
},
"apiture:publish": {
"href": "https://api.devbank.apiture.com/axbi-admin/publishedCampaigns?campaign=0399abed-fd3d"
}
},
"name": "Holiday Savings Campaign",
"description": "Promote the savings account for saving for holiday giving.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"_id": "0399abed-fd3d",
"institutionId": "3RDPARTYBANK",
"state": "running",
"archived": false,
"invalidCustomerIdCount": 0,
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The operation succeeded. The campaign was updated and its archived property changed to true . | |
Schema: campaign |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The campaign parameter was malformed or does not refer to an existing or accessible campaign. This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. The request to cancel the campaign is not allowed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
publishCampaign
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/axbiAdminAdvertising/publishedCampaigns?campaign=stringstringstri \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
POST https://api.apiture.com/axbiAdminAdvertising/publishedCampaigns?campaign=stringstringstri HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/publishedCampaigns?campaign=stringstringstri',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/publishedCampaigns',
method: 'post',
data: '?campaign=stringstringstri',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.post 'https://api.apiture.com/axbiAdminAdvertising/publishedCampaigns',
params: {
'campaign' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.post('https://api.apiture.com/axbiAdminAdvertising/publishedCampaigns', params={
'campaign': 'stringstringstri'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/publishedCampaigns?campaign=stringstringstri");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/axbiAdminAdvertising/publishedCampaigns", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Publish a campaign
POST https://api.apiture.com/axbiAdminAdvertising/publishedCampaigns
Publish a draft campaign so that it runs during its scheduled period. Draft campaigns must be published for them to run. This changes the state
property of the campaign to published
, unless the startAt
time has passed, in which case the campaign is running
. This operation is available via the apiture:publish
link on the campaign resource, if and only if the campaign is eligible for the cancel operation. The response is the updated representation of the campaign. This operation is idempotent: no changes are made if the campaign is already published
.
Parameters
Parameter | Description |
---|---|
campaign in: query | string (required) The _id of the campaign to publish.minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaign/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
},
"apiture:audienceCsvUri": {
"href": "https://api.devbank.apiture.com/documents/audience-customer-ids/0399abed-fd3d.csv"
},
"apiture:publish": {
"href": "https://api.devbank.apiture.com/axbi-admin/publishedCampaigns?campaign=0399abed-fd3d"
}
},
"name": "Holiday Savings Campaign",
"description": "Promote the savings account for saving for holiday giving.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"_id": "0399abed-fd3d",
"institutionId": "3RDPARTYBANK",
"state": "running",
"archived": false,
"invalidCustomerIdCount": 0,
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The operation succeeded. The campaign was updated and its state changed to canceled . | |
Schema: campaign |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The campaign parameter was malformed or does not refer to an existing or accessible campaign. This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. The request to cancel the campaign is not allowed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
resumeCampaign
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/axbiAdminAdvertising/runningCampaigns?campaign=stringstringstri \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
POST https://api.apiture.com/axbiAdminAdvertising/runningCampaigns?campaign=stringstringstri HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/runningCampaigns?campaign=stringstringstri',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/runningCampaigns',
method: 'post',
data: '?campaign=stringstringstri',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.post 'https://api.apiture.com/axbiAdminAdvertising/runningCampaigns',
params: {
'campaign' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.post('https://api.apiture.com/axbiAdminAdvertising/runningCampaigns', params={
'campaign': 'stringstringstri'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/runningCampaigns?campaign=stringstringstri");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/axbiAdminAdvertising/runningCampaigns", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Resume a campaign
POST https://api.apiture.com/axbiAdminAdvertising/runningCampaigns
Resume a suspended campaign. This changes the state
property of the campaign to running
. This operation is available via the apiture:resume
link on the campaign resource, if and only if the campaign is suspended
. The response is the updated representation of the campaign. This operation is idempotent: no changes are made if the campaign is already running
.
Parameters
Parameter | Description |
---|---|
campaign in: query | string (required) The _id of the campaign to resume.minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaign/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
},
"apiture:audienceCsvUri": {
"href": "https://api.devbank.apiture.com/documents/audience-customer-ids/0399abed-fd3d.csv"
},
"apiture:publish": {
"href": "https://api.devbank.apiture.com/axbi-admin/publishedCampaigns?campaign=0399abed-fd3d"
}
},
"name": "Holiday Savings Campaign",
"description": "Promote the savings account for saving for holiday giving.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"_id": "0399abed-fd3d",
"institutionId": "3RDPARTYBANK",
"state": "running",
"archived": false,
"invalidCustomerIdCount": 0,
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The operation succeeded. The campaign was updated and its state changed to running . | |
Schema: campaign |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The campaign parameter was malformed or does not refer to an existing or accessible campaign. This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. The request to resume the campaign is not allowed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
suspendCampaign
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/axbiAdminAdvertising/suspendedCampaigns?campaign=stringstringstri \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
POST https://api.apiture.com/axbiAdminAdvertising/suspendedCampaigns?campaign=stringstringstri HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/suspendedCampaigns?campaign=stringstringstri',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/suspendedCampaigns',
method: 'post',
data: '?campaign=stringstringstri',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.post 'https://api.apiture.com/axbiAdminAdvertising/suspendedCampaigns',
params: {
'campaign' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.post('https://api.apiture.com/axbiAdminAdvertising/suspendedCampaigns', params={
'campaign': 'stringstringstri'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/suspendedCampaigns?campaign=stringstringstri");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/axbiAdminAdvertising/suspendedCampaigns", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Suspend a campaign
POST https://api.apiture.com/axbiAdminAdvertising/suspendedCampaigns
Suspend a campaign. Ads from the campaign are not served to users, as if the campaign were outside of its startAt
/endAt
time frame. This changes the state
property of the campaign to suspended
. This operation is available via the apiture:suspend
link on the campaign resource, if and only if the campaign is running
or published
. The response is the updated representation of the campaign. This operation is idempotent: no changes are made if the campaign is already suspended
.
Parameters
Parameter | Description |
---|---|
campaign in: query | string (required) The _id of the campaign to suspend.minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaign/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
},
"apiture:audienceCsvUri": {
"href": "https://api.devbank.apiture.com/documents/audience-customer-ids/0399abed-fd3d.csv"
},
"apiture:publish": {
"href": "https://api.devbank.apiture.com/axbi-admin/publishedCampaigns?campaign=0399abed-fd3d"
}
},
"name": "Holiday Savings Campaign",
"description": "Promote the savings account for saving for holiday giving.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"_id": "0399abed-fd3d",
"institutionId": "3RDPARTYBANK",
"state": "running",
"archived": false,
"invalidCustomerIdCount": 0,
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. The operation succeeded. The campaign was updated and its state changed to suspended . | |
Schema: campaign |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The campaign parameter was malformed or does not refer to an existing or accessible campaign. This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. The request to suspend the campaign is not allowed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Campaign Ads
Ads within Advertising Campaigns
getCampaignAds
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a collection of ads
GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads
Return a paginated sortable filterable collection of ads. The links in the response include pagination links.
Parameters
Parameter | Description |
---|---|
start in: query | integer(int64) The zero-based index of the first ad item to include in this page. The default 0 denotes the beginning of the collection. format: int64 default: 0 |
limit in: query | integer(int32) The maximum number of ad representations to return in this page. format: int32 default: 100 |
sortBy in: query | string Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2 . |
filter in: query | string Optional filter criteria. See filtering. |
campaignId in: path | string (required) The unique identifier of this campaign. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignAds/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/478f4f-4hoi-eeuiduk/ads?start=10&limit=10"
},
"collection": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/478f4f-4hoi-eeuiduk/ads"
},
"first": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/478f4f-4hoi-eeuiduk/ads?start=0&limit=10"
},
"next": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/478f4f-4hoi-eeuiduk/ads?start=20&limit=10"
}
},
"name": "ads",
"_embedded": {
"items": [
{
"_id": "0399abed-fd3d",
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/summaryCampaignAd/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/478f4f-4hoi-eeuiduk/ads/0399abed-fd3d"
}
}
},
{
"_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/summaryCampaignAd/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/478f4f-4hoi-eeuiduk/ads/0399abed-fd3d"
}
}
}
]
},
"count": 1,
"limit": 0,
"start": 1
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: campaignAds |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
createCampaignAd
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
POST https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/createCampaignAd/v1.0.1/profile.json",
"_links": {},
"name": "Holiday Promotion",
"description": "Promote our holiday savings account.",
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc"
},
"landingPage": {
"locations": {
"accountsPage": true,
"moreMenu": true,
"loginPage": false
},
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"buttonLabel": "Start Saving",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png",
"linkType": "externalUri",
"externalUri": "http://promotion.example.com/campaign/a2ffa71627eb90bdc42f/"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc",
"buttonBackground": "#0c0c0c",
"buttonText": "#00fcfc"
}
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.post 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.post('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new campaign ad
POST https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads
Create a new ad within a campaign. If the campaign's ad rotation policy is none
, a default policy is assigned.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/createCampaignAd/v1.0.1/profile.json",
"_links": {},
"name": "Holiday Promotion",
"description": "Promote our holiday savings account.",
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc"
},
"landingPage": {
"locations": {
"accountsPage": true,
"moreMenu": true,
"loginPage": false
},
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"buttonLabel": "Start Saving",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png",
"linkType": "externalUri",
"externalUri": "http://promotion.example.com/campaign/a2ffa71627eb90bdc42f/"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc",
"buttonBackground": "#0c0c0c",
"buttonText": "#00fcfc"
}
}
}
Parameters
Parameter | Description |
---|---|
body | createCampaignAd The data necessary to create a new ad. |
campaignId in: path | string (required) The unique identifier of this campaign. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
201 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignAd/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/ads/0399abed-fd3d"
}
},
"_id": "0399abed-fd3d",
"name": "Holiday Promotion",
"description": "Promote our holiday savings account.",
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc"
},
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"landingPage": {
"locations": {
"accountsPage": true,
"moreMenu": true,
"loginPage": false
},
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"buttonLabel": "Start Saving",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png",
"linkType": "externalUri",
"externalUri": "http://promotion.example.com/campaign/a2ffa71627eb90bdc42f/"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc",
"buttonBackground": "#0c0c0c",
"buttonText": "#00fcfc"
}
},
"_embedded": {}
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: campaignAd | |
Header | Location string uri |
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme ://host |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
getCampaignAd
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId} \
-H 'Accept: application/json' \
-H 'If-None-Match: string' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId} HTTP/1.1
Host: api.apiture.com
Accept: application/json
If-None-Match: string
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'If-None-Match':'string',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'If-None-Match':'string',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'If-None-Match' => 'string',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'If-None-Match': 'string',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"If-None-Match": []string{"string"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this ad
GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}
Return a HAL representation of this ad resource.
Parameters
Parameter | Description |
---|---|
If-None-Match in: header | string The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET returns 304 (Not Modified) and no response body, else the resource representation is returned. |
campaignId in: path | string (required) The unique identifier of this campaign. This is an opaque string. minLength: 16 maxLength: 48 |
adId in: path | string (required) The unique identifier of this ad. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignAd/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/ads/0399abed-fd3d"
}
},
"_id": "0399abed-fd3d",
"name": "Holiday Promotion",
"description": "Promote our holiday savings account.",
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc"
},
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"landingPage": {
"locations": {
"accountsPage": true,
"moreMenu": true,
"loginPage": false
},
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"buttonLabel": "Start Saving",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png",
"linkType": "externalUri",
"externalUri": "http://promotion.example.com/campaign/a2ffa71627eb90bdc42f/"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc",
"buttonBackground": "#0c0c0c",
"buttonText": "#00fcfc"
}
},
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: campaignAd |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such ad resource at the specified {adId} . The _error field in the response contains details about the request error. | |
Schema: errorResponse |
updateCampaignAd
Code samples
# You can also use wget
curl -X PUT https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
PUT https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId} HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignAd/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/ads/0399abed-fd3d"
}
},
"_id": "0399abed-fd3d",
"name": "Holiday Promotion",
"description": "Promote our holiday savings account.",
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc"
},
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"landingPage": {
"locations": {
"accountsPage": true,
"moreMenu": true,
"loginPage": false
},
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"buttonLabel": "Start Saving",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png",
"linkType": "externalUri",
"externalUri": "http://promotion.example.com/campaign/a2ffa71627eb90bdc42f/"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc",
"buttonBackground": "#0c0c0c",
"buttonText": "#00fcfc"
}
},
"_embedded": {}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.put 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.put('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this ad
PUT https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}
Perform a complete replacement of this ad.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignAd/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/ads/0399abed-fd3d"
}
},
"_id": "0399abed-fd3d",
"name": "Holiday Promotion",
"description": "Promote our holiday savings account.",
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc"
},
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"landingPage": {
"locations": {
"accountsPage": true,
"moreMenu": true,
"loginPage": false
},
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"buttonLabel": "Start Saving",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png",
"linkType": "externalUri",
"externalUri": "http://promotion.example.com/campaign/a2ffa71627eb90bdc42f/"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc",
"buttonBackground": "#0c0c0c",
"buttonText": "#00fcfc"
}
},
"_embedded": {}
}
Parameters
Parameter | Description |
---|---|
body | campaignAd A new ad |
campaignId in: path | string (required) The unique identifier of this campaign. This is an opaque string. minLength: 16 maxLength: 48 |
adId in: path | string (required) The unique identifier of this ad. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignAd/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/ads/0399abed-fd3d"
}
},
"_id": "0399abed-fd3d",
"name": "Holiday Promotion",
"description": "Promote our holiday savings account.",
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc"
},
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"landingPage": {
"locations": {
"accountsPage": true,
"moreMenu": true,
"loginPage": false
},
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"buttonLabel": "Start Saving",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png",
"linkType": "externalUri",
"externalUri": "http://promotion.example.com/campaign/a2ffa71627eb90bdc42f/"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc",
"buttonBackground": "#0c0c0c",
"buttonText": "#00fcfc"
}
},
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: campaignAd |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such ad resource at the specified {adId} . The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
patchCampaignAd
Code samples
# You can also use wget
curl -X PATCH https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
PATCH https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId} HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignAd/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/ads/0399abed-fd3d"
}
},
"_id": "0399abed-fd3d",
"name": "Holiday Promotion",
"description": "Promote our holiday savings account.",
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc"
},
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"landingPage": {
"locations": {
"accountsPage": true,
"moreMenu": true,
"loginPage": false
},
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"buttonLabel": "Start Saving",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png",
"linkType": "externalUri",
"externalUri": "http://promotion.example.com/campaign/a2ffa71627eb90bdc42f/"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc",
"buttonBackground": "#0c0c0c",
"buttonText": "#00fcfc"
}
},
"_embedded": {}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.patch 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.patch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this ad
PATCH https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}
Perform a partial update of this ad. Fields which are omitted are not updated. Nested _embedded
and _links
are ignored if included.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignAd/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/ads/0399abed-fd3d"
}
},
"_id": "0399abed-fd3d",
"name": "Holiday Promotion",
"description": "Promote our holiday savings account.",
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc"
},
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"landingPage": {
"locations": {
"accountsPage": true,
"moreMenu": true,
"loginPage": false
},
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"buttonLabel": "Start Saving",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png",
"linkType": "externalUri",
"externalUri": "http://promotion.example.com/campaign/a2ffa71627eb90bdc42f/"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc",
"buttonBackground": "#0c0c0c",
"buttonText": "#00fcfc"
}
},
"_embedded": {}
}
Parameters
Parameter | Description |
---|---|
body | campaignAd The new ad. |
campaignId in: path | string (required) The unique identifier of this campaign. This is an opaque string. minLength: 16 maxLength: 48 |
adId in: path | string (required) The unique identifier of this ad. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignAd/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/ads/0399abed-fd3d"
}
},
"_id": "0399abed-fd3d",
"name": "Holiday Promotion",
"description": "Promote our holiday savings account.",
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc"
},
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"landingPage": {
"locations": {
"accountsPage": true,
"moreMenu": true,
"loginPage": false
},
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"buttonLabel": "Start Saving",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png",
"linkType": "externalUri",
"externalUri": "http://promotion.example.com/campaign/a2ffa71627eb90bdc42f/"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc",
"buttonBackground": "#0c0c0c",
"buttonText": "#00fcfc"
}
},
"_embedded": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: campaignAd |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such ad resource at the specified {adId} . The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
deleteCampaignAd
Code samples
# You can also use wget
curl -X DELETE https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
DELETE https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId} HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.delete 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.delete('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Delete this ad resource
DELETE https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/ads/{adId}
Delete this ad resource and any resources that are owned by it.
Parameters
Parameter | Description |
---|---|
campaignId in: path | string (required) The unique identifier of this campaign. This is an opaque string. minLength: 16 maxLength: 48 |
adId in: path | string (required) The unique identifier of this ad. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
404 Response
{
"_profile": "https://production.api.apiture.com/schemas/common/errorResponse/v2.1.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"_error": {
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"message": "Description of the error will appear here.",
"statusCode": 422,
"type": "specificErrorType",
"attributes": {
"value": "Optional attribute describing the error"
},
"remediation": "Optional instructions to remediate the error may appear here.",
"occurredAt": "2018-01-25T05:50:52.375Z",
"_links": {
"describedby": {
"href": "https://production.api.apiture.com/errors/specificErrorType"
}
},
"_embedded": {
"errors": []
}
}
}
Responses
Status | Description |
---|---|
204 | No Content |
No Content. The resource was deleted successfully. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such ad resource at the specified {adId} . The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Campaign Metrics
Metrics for Campaign Advertisements
getCampaignMetrics
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/metrics \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/metrics HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/metrics',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/metrics',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/metrics',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/metrics', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/metrics");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/metrics", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return the campaign's success metrics
GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/metrics
Return a set of success metrics for this campaign, by date ranges.
Parameters
Parameter | Description |
---|---|
dateRanges in: query | array[string] A list of date ranges. The parameter is an array of one or more date ranges. If omitted, the default range is the entire active time of the campaign. The response contains a metrics object for each date range. minItems: 1 maxItems: 8 comma-delimited items: string » pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]])$ |
campaignId in: path | string (required) The unique identifier of this campaign. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignMetrics/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"items": [
{
"dateRange": "[2022-06-01,2022-06-30]",
"metrics": {
"commercial": {
"impressions": 1432,
"adClicks": 1321,
"targetClicks": 1210
},
"focus": {
"impressions": 2432,
"adClicks": 2321,
"targetClicks": 2210
},
"agent": {
"impressions": 3432,
"adClicks": 3321,
"targetClicks": 3210
},
"smallBusiness": {
"impressions": 4432,
"adClicks": 4321,
"targetClicks": 4210
},
"retail": {
"impressions": 5432,
"adClicks": 5321,
"targetClicks": 5210
},
"subUser": {
"impressions": 6432,
"adClicks": 6321,
"targetClicks": 6210
},
"subUserAdmin": {
"impressions": 7432,
"adClicks": 7321,
"targetClicks": 7210
},
"unknown": {
"impressions": 8432,
"adClicks": 8321,
"targetClicks": 8210
},
"total": {
"impressions": 39456,
"adClicks": 38568,
"targetClicks": 37680
}
}
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: campaignMetrics |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The This error response may have one of the following | |
Schema: errorResponse |
listCampaignMetrics
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/axbiAdminAdvertising/campaignMetrics?dateRange=%5B2022-05-01%2C2022-05-31%5D \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
GET https://api.apiture.com/axbiAdminAdvertising/campaignMetrics?dateRange=%5B2022-05-01%2C2022-05-31%5D HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaignMetrics?dateRange=%5B2022-05-01%2C2022-05-31%5D',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaignMetrics',
method: 'get',
data: '?dateRange=%5B2022-05-01%2C2022-05-31%5D',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.apiture.com/axbiAdminAdvertising/campaignMetrics',
params: {
'dateRange' => 'array[string]'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.apiture.com/axbiAdminAdvertising/campaignMetrics', params={
'dateRange': [
"[2022-05-01,2022-05-31]"
]
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaignMetrics?dateRange=%5B2022-05-01%2C2022-05-31%5D");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/axbiAdminAdvertising/campaignMetrics", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return the summary metrics across campaigns
GET https://api.apiture.com/axbiAdminAdvertising/campaignMetrics
Return campaign metrics for all active campaigns within a date range. The response only contains campaigns that were active within at least one of the date ranges.
Parameters
Parameter | Description |
---|---|
dateRange in: query | array[string] (required) A required range of dates. The operation returns the metrics for the campaigns that are active during the given range of dates. minItems: 1 maxItems: 8 comma-delimited items: string » pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]])$ |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignMetricsByDate/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"items": [
{
"dateRange": "[2022-06-01,2022-06-30]",
"campaigns": {
"_id": "ff2c2ce8-7f2b",
"name": "Fall Promotional Campaign",
"metrics": {
"commercial": {
"impressions": 1432,
"adClicks": 1321,
"targetClicks": 1210
},
"focus": {
"impressions": 2432,
"adClicks": 2321,
"targetClicks": 2210
},
"agent": {
"impressions": 3432,
"adClicks": 3321,
"targetClicks": 3210
},
"smallBusiness": {
"impressions": 4432,
"adClicks": 4321,
"targetClicks": 4210
},
"retail": {
"impressions": 5432,
"adClicks": 5321,
"targetClicks": 5210
},
"subUser": {
"impressions": 6432,
"adClicks": 6321,
"targetClicks": 6210
},
"subUserAdmin": {
"impressions": 7432,
"adClicks": 7321,
"targetClicks": 7210
},
"unknown": {
"impressions": 8432,
"adClicks": 8321,
"targetClicks": 8210
},
"total": {
"impressions": 39456,
"adClicks": 38568,
"targetClicks": 37680
}
}
},
"_links": {
"apiture:campaign": "href: https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/ff2c2ce8-7f2b"
}
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: campaignMetricsByDate |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
getCampaignCountsByState
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/axbiAdminAdvertising/campaignCounts?institutionId=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
GET https://api.apiture.com/axbiAdminAdvertising/campaignCounts?institutionId=string HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaignCounts?institutionId=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaignCounts',
method: 'get',
data: '?institutionId=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.apiture.com/axbiAdminAdvertising/campaignCounts',
params: {
'institutionId' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.apiture.com/axbiAdminAdvertising/campaignCounts', params={
'institutionId': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaignCounts?institutionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/axbiAdminAdvertising/campaignCounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return counts of campaigns by state
GET https://api.apiture.com/axbiAdminAdvertising/campaignCounts
Return a the number of campaign in each possible campaign state
.
Parameters
Parameter | Description |
---|---|
institutionId in: query | string (required) Limit results to the financial institution identified by this unique institution ID. minLength: 4 maxLength: 64 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignCounts/v1.1.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaignCounts"
}
},
"draftCampaignsCount": 4,
"publishedCampaignsCount": 9,
"runningCampaignsCount": 2,
"suspendedCampaignsCount": 0,
"completedCampaignsCount": 28,
"canceledCampaignsCount": 3,
"invalidCampaignAudiencesCount": 1
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: campaignCounts |
Audiences
Ad Campaign Target Audiences
getCampaignAudience
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return the campaign's audience definition.
GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience
Return the definition of this campaign's audience.
Parameters
Parameter | Description |
---|---|
campaignId in: path | string (required) The unique identifier of this campaign. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"customerCategories": {
"commercial": true,
"subUsers": true
},
"lastLoginTimeFrame": {
"when": "after",
"date1": "2021-06-01"
},
"createdAt": "2021-07-02T11:01:40.375Z",
"updatedAt": "2021-07-02T11:01:45.375Z"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: audienceDefinition |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such campaign resource at the specified {campaignId} . The _error field in the response contains details about the request error. | |
Schema: errorResponse |
setCampaignAudience
Code samples
# You can also use wget
curl -X PUT https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
PUT https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"customerCategories": {
"commercial": true,
"subUsers": true
},
"lastLoginTimeFrame": {
"when": "after",
"date1": "2021-06-01"
},
"createdAt": "2021-07-02T11:01:40.375Z",
"updatedAt": "2021-07-02T11:01:45.375Z"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.put 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.put('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create or update the campaign's audience definition.
PUT https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience
Create or update the definition of this campaign's audience.
Body parameter
{
"customerCategories": {
"commercial": true,
"subUsers": true
},
"lastLoginTimeFrame": {
"when": "after",
"date1": "2021-06-01"
},
"createdAt": "2021-07-02T11:01:40.375Z",
"updatedAt": "2021-07-02T11:01:45.375Z"
}
Parameters
Parameter | Description |
---|---|
body | audienceDefinition The data necessary to create a new audience. |
campaignId in: path | string (required) The unique identifier of this campaign. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"customerCategories": {
"commercial": true,
"subUsers": true
},
"lastLoginTimeFrame": {
"when": "after",
"date1": "2021-06-01"
},
"createdAt": "2021-07-02T11:01:40.375Z",
"updatedAt": "2021-07-02T11:01:45.375Z"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: audienceDefinition |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such campaign resource at the specified {campaignId} . The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
getCampaignAudienceIds
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience/ids \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'API-Key: API_KEY'
GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience/ids HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience/ids',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience/ids',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience/ids',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience/ids', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience/ids");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience/ids", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a page of the campaign's audience customer IDs
GET https://api.apiture.com/axbiAdminAdvertising/campaigns/{campaignId}/audience/ids
Return a paginated. The links in the response include pagination links.
Parameters
Parameter | Description |
---|---|
start in: query | integer(int64) The zero-based index of the first audience item to include in this page. The default 0 denotes the beginning of the collection. format: int64 default: 0 minimum: 0 |
limit in: query | integer(int32) The maximum number of audience representations to return in this page. format: int32 default: 100000 minimum: 0 maximum: 200000 |
campaignId in: path | string (required) The unique identifier of this campaign. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/audienceIds/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/90a69aa8-3acd/audience/ids?start=50000"
},
"next": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/90a69aa8-3acd/audience/ids?start=50000"
},
"collection": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/90a69aa8-3acd/audience/ids"
}
},
"start": 50000,
"limit": 10000,
"items": [
"3229a7e83d2b",
"4e33a55djkd0",
"c4266b40e198",
"40e198c4266b"
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: audienceIds |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
File Uploads
File Uploads
createUpload
Code samples
# You can also use wget
curl -X POST https://api.apiture.com/axbiAdminAdvertising/uploads \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST https://api.apiture.com/axbiAdminAdvertising/uploads HTTP/1.1
Host: api.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
const fetch = require('node-fetch');
const inputBody = '{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/createUpload/v1.0.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"path": "/campaigns/pfm-fall-2021/banner.png",
"contentType": "image/png",
"replace": true,
"unauthenticatedDownload": true
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/uploads',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/uploads',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/hal+json',
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.apiture.com/axbiAdminAdvertising/uploads',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.apiture.com/axbiAdminAdvertising/uploads', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/uploads");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/hal+json"},
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.apiture.com/axbiAdminAdvertising/uploads", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new upload
POST https://api.apiture.com/axbiAdminAdvertising/uploads
Create a new file upload tracker. The caller describes the file to be uploaded (the the file path and its content type, etc), in the request body. The caller can also indicate if the file should be stored in a resource server that can serve the file content later via unauthenticated access (download) URL, and whether to replace any existing files already at that file path.
This operation returns a upload tracker resource representation. The response also contains a link named apiture:uploadUrl
which points to an upload URL. The client must PUT
the file content to the upload URL to complete the upload.
The state
of the upload tracker shows the upload status. When the state
is completed
, the file associated with the upload resource is available from the file resource via the apiture:content
file download URL link within the upload resource. The upload may fail if the file is too large, the content type does not match, or the content contains potentially malicious content such as an executable or other unsafe/unsupported content.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/createUpload/v1.0.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"path": "/campaigns/pfm-fall-2021/banner.png",
"contentType": "image/png",
"replace": true,
"unauthenticatedDownload": true
}
Parameters
Parameter | Description |
---|---|
body | createUpload (required) The data necessary to create a new upload. |
Example responses
201 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/upload/v1.0.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbiAdminAdvertising/uploads/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:uploadUrl": {
"href": "https://api.devbank.apiture.com/some/opaque/upload/url/for/this/file"
},
"apiture:content": {
"href": "https://cdn.example.com/resources/campaigns/pfm-fall-2021/banner.png"
}
},
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"contentType": "image/png",
"path": "/campaigns/pfm-fall-2021/banner.png",
"replace": true,
"renamed": false,
"state": "pending",
"unauthenticatedDownload": true,
"expiresAt": "2021-12-23T00:00:00.000Z",
"maximumFileSizeBytes": 25000000
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: upload | |
Header | Location string uri |
The URI of the new upload resource for tracking the upload. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
getUpload
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId} \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId} HTTP/1.1
Host: api.apiture.com
Accept: application/hal+json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this upload
GET https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}
Return a HAL representation of this upload resource. The client can fetch this to track and verify the state
of the file content upload.
Parameters
Parameter | Description |
---|---|
uploadId in: path | string (required) The unique identifier of this upload resource. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/upload/v1.0.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbiAdminAdvertising/uploads/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:uploadUrl": {
"href": "https://api.devbank.apiture.com/some/opaque/upload/url/for/this/file"
},
"apiture:content": {
"href": "https://cdn.example.com/resources/campaigns/pfm-fall-2021/banner.png"
}
},
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"contentType": "image/png",
"path": "/campaigns/pfm-fall-2021/banner.png",
"replace": true,
"renamed": false,
"state": "pending",
"unauthenticatedDownload": true,
"expiresAt": "2021-12-23T00:00:00.000Z",
"maximumFileSizeBytes": 25000000
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: upload | |
Header | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this upload resource. |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such upload resource at the specified {uploadId} The _error field in the response contains details about the request error. | |
Schema: errorResponse |
uploadContent
Code samples
# You can also use wget
curl -X PUT https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}/content \
-H 'Content-Type: */*' \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY'
PUT https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}/content HTTP/1.1
Host: api.apiture.com
Content-Type: */*
Accept: application/hal+json
const fetch = require('node-fetch');
const inputBody = 'string';
const headers = {
'Content-Type':'*/*',
'Accept':'application/hal+json',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}/content',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'*/*',
'Accept':'application/hal+json',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}/content',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => '*/*',
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY'
}
result = RestClient.put 'https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}/content',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': '*/*',
'Accept': 'application/hal+json',
'API-Key': 'API_KEY'
}
r = requests.put('https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}/content', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}/content");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"*/*"},
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}/content", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Upload the file's raw content
PUT https://api.apiture.com/axbiAdminAdvertising/uploads/{uploadId}/content
Upload the raw content of the file as a stream of bytes. Examples include the binary bytes for an image or PDF document, or the multipart/form-data
representation of the file. The required Content-Type
header must match the contentType
of the upload resource. The response is the upload resource, not the file content.
Clients should not use this /uploads/{uploadId}/content
URL directly, but should instead PUT
the file content (and Content-Type
request header) to the apiture:uploadUrl
link that is returned when creating a new upload resource. If used, this operation always returns the 303 response redirecting the caller to the actual upload URL.
Body parameter
Parameters
Parameter | Description |
---|---|
body | string(binary) (required) The raw binary data of the file, as a stream of bytes, such as the image/png data of an image.format: binary |
uploadId in: path | string (required) The unique identifier of this upload resource. This is an opaque string. minLength: 16 maxLength: 48 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/upload/v1.0.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbiAdminAdvertising/uploads/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:uploadUrl": {
"href": "https://api.devbank.apiture.com/some/opaque/upload/url/for/this/file"
},
"apiture:content": {
"href": "https://cdn.example.com/resources/campaigns/pfm-fall-2021/banner.png"
}
},
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"contentType": "image/png",
"path": "/campaigns/pfm-fall-2021/banner.png",
"replace": true,
"renamed": false,
"state": "pending",
"unauthenticatedDownload": true,
"expiresAt": "2021-12-23T00:00:00.000Z",
"maximumFileSizeBytes": 25000000
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: upload |
Status | Description |
---|---|
303 | See Other |
See Other. Retry the operation using the URL in the Location response header. | |
Header | Location string uri |
The URI of the new upload resource for tracking the upload. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such upload resource at the specified {uploadId} The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. The Content-Type did not match the contentType of the upload resource. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The file could not be uploaded. Possible errors are the file is too large, or the file type or content is not allowed because it may be malicious. This error response may have one of the following | |
Schema: errorResponse |
API
The Advertising Campaigns Administration API
getConfiguration
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/axbiAdminAdvertising/configuration?institutionId=string \
-H 'Accept: application/json' \
-H 'API-Key: API_KEY'
GET https://api.apiture.com/axbiAdminAdvertising/configuration?institutionId=string HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/configuration?institutionId=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/configuration',
method: 'get',
data: '?institutionId=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.apiture.com/axbiAdminAdvertising/configuration',
params: {
'institutionId' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.apiture.com/axbiAdminAdvertising/configuration', params={
'institutionId': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/configuration?institutionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/axbiAdminAdvertising/configuration", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return global configuration data
GET https://api.apiture.com/axbiAdminAdvertising/configuration
Returns configuration settings for an institution. This data is global to all campaigns.
Parameters
Parameter | Description |
---|---|
institutionId in: query | string (required) Limit results to the financial institution identified by this unique institution ID. minLength: 4 maxLength: 64 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/advertisingServiceConfiguration/v1.0.0/profile.json",
"_links": {},
"autoArchiveEnabled": true,
"autoArchiveInterval": "P2W"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: advertisingServiceConfiguration |
patchConfiguration
Code samples
# You can also use wget
curl -X PATCH https://api.apiture.com/axbiAdminAdvertising/configuration?institutionId=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'API-Key: API_KEY'
PATCH https://api.apiture.com/axbiAdminAdvertising/configuration?institutionId=string HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/advertisingServiceConfiguration/v1.0.0/profile.json",
"_links": {},
"autoArchiveEnabled": true,
"autoArchiveInterval": "P2W"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/configuration?institutionId=string',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/configuration',
method: 'patch',
data: '?institutionId=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'API-Key' => 'API_KEY'
}
result = RestClient.patch 'https://api.apiture.com/axbiAdminAdvertising/configuration',
params: {
'institutionId' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'API-Key': 'API_KEY'
}
r = requests.patch('https://api.apiture.com/axbiAdminAdvertising/configuration', params={
'institutionId': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/configuration?institutionId=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.apiture.com/axbiAdminAdvertising/configuration", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update global configuration data
PATCH https://api.apiture.com/axbiAdminAdvertising/configuration
Update configuration settings for an institution. This data is global to all campaigns. The request can be a partial representation (i.e. just one configuration property) or it may set multiple properties.
Body parameter
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/advertisingServiceConfiguration/v1.0.0/profile.json",
"_links": {},
"autoArchiveEnabled": true,
"autoArchiveInterval": "P2W"
}
Parameters
Parameter | Description |
---|---|
body | advertisingServiceConfiguration Configuration properties. |
institutionId in: query | string (required) Limit results to the financial institution identified by this unique institution ID. minLength: 4 maxLength: 64 |
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/advertisingServiceConfiguration/v1.0.0/profile.json",
"_links": {},
"autoArchiveEnabled": true,
"autoArchiveInterval": "P2W"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: advertisingServiceConfiguration |
getApi
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/axbiAdminAdvertising/ \
-H 'Accept: application/json' \
-H 'API-Key: API_KEY'
GET https://api.apiture.com/axbiAdminAdvertising/ HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.apiture.com/axbiAdminAdvertising/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.apiture.com/axbiAdminAdvertising/', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/axbiAdminAdvertising/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Top-level resources and operations in this API
GET https://api.apiture.com/axbiAdminAdvertising/
Return links to the top-level resources and operations in this API.
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"id": "apiName",
"name": "API name",
"apiVersion": "1.0.0"
}
Responses
getApiDoc
Code samples
# You can also use wget
curl -X GET https://api.apiture.com/axbiAdminAdvertising/apiDoc \
-H 'Accept: application/json' \
-H 'API-Key: API_KEY'
GET https://api.apiture.com/axbiAdminAdvertising/apiDoc HTTP/1.1
Host: api.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'API-Key':'API_KEY'
};
fetch('https://api.apiture.com/axbiAdminAdvertising/apiDoc',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.apiture.com/axbiAdminAdvertising/apiDoc',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.apiture.com/axbiAdminAdvertising/apiDoc',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.apiture.com/axbiAdminAdvertising/apiDoc', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.apiture.com/axbiAdminAdvertising/apiDoc");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.apiture.com/axbiAdminAdvertising/apiDoc", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return API definition document
GET https://api.apiture.com/axbiAdminAdvertising/apiDoc
Return the OpenAPI document that describes this API.
Example responses
200 Response
{}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: Inline |
Response Schema
Schemas
abstractRequest
{
"_profile": "https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/profile.json",
"_links": {}
}
Abstract Request (v2.0.0)
An abstract schema used to define other request-only schemas. This is a HAL resource representation, minus the _error
defined in abstractResource
.
This schema was resolved from common/abstractRequest
.
Properties
Name | Description |
---|---|
Abstract Request (v2.0.0) | An abstract schema used to define other request-only schemas. This is a HAL resource representation, minus the _error defined in abstractResource . This schema was resolved from |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
abstractResource
{
"_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
}
}
Abstract Resource (v2.1.0)
An abstract schema used to define other schemas for request and response bodies. This is a HAL resource representation. This model contains hypermedia _links
, and either optional domain object data with _profile
and optional _embedded
objects, or an _error
object. In responses, if the operation was successful, this object will not include the _error
, but if the operation was a 4xx or 5xx error, this object will not include _embedded
or any data fields, only _error
and optionally _links
.
This schema was resolved from common/abstractResource
.
Properties
Name | Description |
---|---|
Abstract Resource (v2.1.0) | An abstract schema used to define other schemas for request and response bodies. This is a HAL resource representation. This model contains hypermedia _links , and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error , but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links . This schema was resolved from |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
advertisingServiceConfiguration
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/advertisingServiceConfiguration/v1.0.0/profile.json",
"_links": {},
"autoArchiveEnabled": true,
"autoArchiveInterval": "P2W"
}
Advertising Service Configuration (v1.0.0)
Configuration of the advertising administration service for an individual institution.
Properties
Name | Description |
---|---|
Advertising Service Configuration (v1.0.0) | Configuration of the advertising administration service for an individual institution. |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
autoArchiveEnabled | If true , periodic jobs archive campaigns after the campaigns have completed or were canceled. |
attributes
{}
Attributes (v2.1.0)
An optional map of name/value pairs which contains additional dynamic data about the resource.
This schema was resolved from common/attributes
.
Properties
Name | Description |
---|---|
Attributes (v2.1.0) | An optional map of name/value pairs which contains additional dynamic data about the resource. This schema was resolved from |
audienceDefinition
{
"customerCategories": {
"commercial": true,
"subUsers": true
},
"lastLoginTimeFrame": {
"when": "after",
"date1": "2021-06-01"
},
"createdAt": "2021-07-02T11:01:40.375Z",
"updatedAt": "2021-07-02T11:01:45.375Z"
}
Audience Definition (v1.0.1)
Defines a customer audience: bank customer selection criteria which identify a target audience to receive ads in an ad campaign. The audience can either be defined in either of two ways:
- a document containing a list of customer IDs (access ID), or
- a combination of selection criteria (customer categories, a list of states/territories, a list of zip code ranges, last login time). These criteria are combined with a logical AND operation. For example, if the audience lists both a set of states/territories in
regions
and list a set of zip codes, the net audience are all customers who reside in one of those states/territories and who reside in those zip codes.
Properties
Name | Description |
---|---|
Audience Definition (v1.0.1) | Defines a customer audience: bank customer selection criteria which identify a target audience to receive ads in an ad campaign. The audience can either be defined in either of two ways:
|
customerCategories | The optional customer categories to use for this audience. |
regions | array: [ An optional array of states/territories. unique items minItems: 1 items: string » pattern: ^[A-Z][A-Z]$ |
postalCodes | array: [ A list of postal codes or a postal code range. minLength: 0 maxLength: 32 items: string » minLength: 5 » maxLength: 11 » pattern: ^[0-9]{5}(-[0-9]{1,5})?$ |
lastLoginTimeFrame | Select customer who last logged in during the given time frame. |
customerListUri | Rather than defining the audience by categories, and other selection criteria, one can store a list of customers in comma-separated values (CSV) format in a document, and pass the URI of that document here. If this URI is specified, the other criteria ( customerCategories , regions , postalCodes , lastLoginTimeFrame are ignored). The document must be available via a If the document at that URI must be US-ASCII in standard CSV format. The first column must contain the customer IDs. Other data in each row is ignored. The first row is data, not a header row. |
createdAt | The date-time when the audience definition was created, in YYYY-MM-DDThh:mm:ss.sssZ RFC 3339 date-time format, UTC. This is derived and immutable.read-only format: date-time |
updatedAt | The date-time when the audience definition was last updated, in YYYY-MM-DDThh:mm:ss.sssZ RFC 3339 date-time format, UTC. This is derived and immutable.read-only format: date-time |
audienceIds
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/audienceIds/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/90a69aa8-3acd/audience/ids?start=50000"
},
"next": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/90a69aa8-3acd/audience/ids?start=50000"
},
"collection": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/90a69aa8-3acd/audience/ids"
}
},
"start": 50000,
"limit": 10000,
"items": [
"3229a7e83d2b",
"4e33a55djkd0",
"c4266b40e198",
"40e198c4266b"
]
}
Audience Ids (v1.0.2)
A paginated list of audience ID.
Links
Response and request bodies using this audienceIds
schema may contain the following links:
Rel | Summary | Method |
---|---|---|
self | Return a page of the campaign's audience customer IDs | GET |
next | Get the next page if customer IDs | GET |
Properties
Name | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Audience Ids (v1.0.2) | A paginated list of audience ID. LinksResponse and request bodies using this
| |||||||||
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from | |||||||||
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. | |||||||||
_profile | The URI of a resource profile which describes the representation. read-only format: uri | |||||||||
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only | |||||||||
start | (required) The index of the first ID in the page. | |||||||||
limit | The limit from the request. | |||||||||
items | array: [ (required) The list of customer IDs in this page. items: string » maxLength: 36 |
campaign
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaign/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
},
"apiture:audienceCsvUri": {
"href": "https://api.devbank.apiture.com/documents/audience-customer-ids/0399abed-fd3d.csv"
},
"apiture:publish": {
"href": "https://api.devbank.apiture.com/axbi-admin/publishedCampaigns?campaign=0399abed-fd3d"
}
},
"name": "Holiday Savings Campaign",
"description": "Promote the savings account for saving for holiday giving.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"_id": "0399abed-fd3d",
"institutionId": "3RDPARTYBANK",
"state": "running",
"archived": false,
"invalidCustomerIdCount": 0,
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"_embedded": {}
}
Campaign (v1.2.0)
Representation of a campaign resource. An advertising campaign with one or more advertisements.
If the invalidCustomerIdCount
property exists and is greater than 0, the apiture:audienceCsvUri
link exists. That link's href
is the URI of a two-column CSV file which lists all the customer IDs from the audience in column 1 and which customers are valid (V
) or invalid (I
) in column 2. The file contains no header row and exactly two columns: the customer ID and a V
or I
flag. Download the file, analyze the invalid IDs. The campaign manager can then upload the file after repairing it (such as removing all rows that have I
in the second column).
Links
Response and request bodies using this campaign
schema may contain the following links:
Rel | Summary | Method |
---|---|---|
self | Fetch a representation of this campaign | GET |
apiture:publish | Publish a campaign | POST |
apiture:suspend | Suspend a campaign | POST |
apiture:resume | Resume a campaign | POST |
apiture:cancel | Cancel a campaign | POST |
apiture:ads | Return a collection of ads | GET |
apiture:audience | Return the campaign's audience definition. | GET |
apiture:createCampaignAd | Create a new campaign ad | POST |
apiture:audienceCsvUri | URI of a CSV file listing the customer IDs | GET |
Properties
Name | Description | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Campaign (v1.2.0) | Representation of a campaign resource. An advertising campaign with one or more advertisements. If the LinksResponse and request bodies using this
| ||||||||||||||||||||||||||||||
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from | ||||||||||||||||||||||||||||||
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. | ||||||||||||||||||||||||||||||
_profile | The URI of a resource profile which describes the representation. read-only format: uri | ||||||||||||||||||||||||||||||
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only | ||||||||||||||||||||||||||||||
name | The name of this campaign. The name need not be unique. minLength: 4 maxLength: 32 | ||||||||||||||||||||||||||||||
description | The description of this campaign, including the purpose/goals. minLength: 4 maxLength: 500 | ||||||||||||||||||||||||||||||
schedule | array: The start/end date-times to run the campaign. minItems: 1 items: object | ||||||||||||||||||||||||||||||
adRotationPolicy | Determines how multiple ads are rotated. Use none for campaigns with only one ad. If an ad is added to a campaign with rotation policy of none , a default policy is assigned.enum values: none , sessionBased , viewBased , timeBased | ||||||||||||||||||||||||||||||
adRotationInterval | The number of seconds before rotating to the next ad in the campaign. This property is only used if adRotationPolicy is timeBased .minimum: 1 maximum: 864000 | ||||||||||||||||||||||||||||||
_id | The unique identifier for this campaign resource. This is an immutable opaque string. read-only minLength: 16 maxLength: 48 | ||||||||||||||||||||||||||||||
institutionId | The unique ID of this financial institution. read-only minLength: 4 maxLength: 64 | ||||||||||||||||||||||||||||||
state | The state of this campaign. Update a draft campaign to published (scheduled) via publishCampaign or cancelCampaign , suspendCampaign (if running), or resumeCampaign (if suspended). The service automatically changes the state to running or completed at the start or end of the scheduled run period.read-only enum values: draft , published , running , suspended , canceled , completed | ||||||||||||||||||||||||||||||
archived | Indicates that the campaign was archived. This property is only changed through the archiveCampaign operation.read-only | ||||||||||||||||||||||||||||||
invalidCustomerIdCount | The number of customer IDs in the corresponding audience that are invalid. This property is omitted if the data has not yet been validated. See also the apiture:audienceCsvUri link.read-only minimum: 0 | ||||||||||||||||||||||||||||||
createdAt | The date-time when the campaign was created, in YYYY-MM-DDThh:mm:ss.sssZ RFC 3339 date-time format, UTC. This is derived and immutable.read-only format: date-time | ||||||||||||||||||||||||||||||
createdBy | The username of the person who created this campaign resource. read-only | ||||||||||||||||||||||||||||||
updatedAt | The date-time when the campaign was last updated, in YYYY-MM-DDThh:mm:ss.sssZ RFC 3339 date-time format, UTC. This is derived and immutable.read-only format: date-time | ||||||||||||||||||||||||||||||
updatedBy | The username of the person who last modified this campaign resource. read-only |
campaignAd
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignAd/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/ads/0399abed-fd3d"
}
},
"_id": "0399abed-fd3d",
"name": "Holiday Promotion",
"description": "Promote our holiday savings account.",
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc"
},
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850",
"landingPage": {
"locations": {
"accountsPage": true,
"moreMenu": true,
"loginPage": false
},
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"buttonLabel": "Start Saving",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png",
"linkType": "externalUri",
"externalUri": "http://promotion.example.com/campaign/a2ffa71627eb90bdc42f/"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc",
"buttonBackground": "#0c0c0c",
"buttonText": "#00fcfc"
}
},
"_embedded": {}
}
Ad (v1.0.2)
Representation of an ad, which is an in-app advertisement that can be included in a campaign.
Properties
Name | Description |
---|---|
Ad (v1.0.2) | Representation of an ad, which is an in-app advertisement that can be included in a campaign. |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
name | The name of this ad. The name need not be unique. minLength: 4 maxLength: 32 |
description | The description of this ad, its content, and the ad's purpose/goal. minLength: 4 maxLength: 500 |
locations | Where the ad may appear in the application. |
content | The ad's localizable visual content. This object maps locales/languages to the ad content to display for customers, based on their language preference. Keys are RFC 3066 locale strings such as "en" , "fr" , "es-MX" and so on. |
» Campaign Ad Content (v1.0.0) | Language-specific presentation content for an ad. |
» en | (required) The (default) English ad content. |
_id | The unique identifier for this ad resource. This is an immutable opaque string. read-only maxLength: 48 |
createdAt | The date-time when the campaign ad was created, in YYYY-MM-DDThh:mm:ss.sssZ RFC 3339 date-time format, UTC. This is derived and immutable.read-only format: date-time |
createdBy | The username of the person who created this campaign ad resource. read-only |
updatedAt | The date-time when the campaign ad was last updated, in YYYY-MM-DDThh:mm:ss.sssZ RFC 3339 date-time format, UTC. This is derived and immutable.read-only format: date-time |
updatedBy | The username of the person who last modified this campaign ad resource. read-only |
colors | The ad's colors. |
landingPage | The ad's landing page |
campaignAdColors
{
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc"
}
Campaign Ad Colors (v1.0.0)
Colors for the ad text and background. Colors should be HEX colors in #RRGGBB
or #RGB
format.
Properties
Name | Description |
---|---|
Campaign Ad Colors (v1.0.0) | Colors for the ad text and background. Colors should be HEX colors in #RRGGBB or #RGB format. |
background | (required) The ad's background color. format: color pattern: ^#[A-Fa-f0-9]{3,6}$ |
headlineText | (required) The ad headline's color. format: color pattern: ^#[A-Fa-f0-9]{3,6}$ |
bodyText | (required) The ad body's color. format: color pattern: ^#[A-Fa-f0-9]{3,6}$ |
campaignAdContent
{
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png"
}
Campaign Ad Content (v1.0.0)
Language-specific presentation content for an ad.
Properties
Name | Description |
---|---|
Campaign Ad Content (v1.0.0) | Language-specific presentation content for an ad. |
headline | (required) The title or headline for the ad. This is a short phrase with no line breaks. minLength: 0 maxLength: 80 |
body | (required) The main text of the ad. This is Markdown text and may include lists, bold text, italics text, etc. format: markdown minLength: 0 maxLength: 400 |
imageUri | (required) The URI of the banner images for this ad. format: uri maxLength: 2000 |
campaignAdLocations
{
"accountsPage": true,
"moreMenu": true,
"loginPage": true
}
Campaign Ad Locations (v1.0.0)
A location where an ad may be placed. Constraint: at least one of the properties must be true
.
Properties
Name | Description |
---|---|
Campaign Ad Locations (v1.0.0) | A location where an ad may be placed. Constraint: at least one of the properties must be true . |
accountsPage | If true , display the on the account details page. |
moreMenu | If true , display the in the "More" menu. |
loginPage | If true , display the on the login page. |
campaignAdRotationPolicy
"none"
Campaign Ad Rotation Policy (v1.0.0)
Specifies how and when multiple ads are rotated within a multi-ad campaign.
campaignAdRotationPolicy
strings may have one of the following enumerated values:
Value | Description |
---|---|
none | None: No rotation policy. Used for campaigns with only one ad. |
sessionBased | Session Based: Use one ad per user session. On the customer's next session, display the next ad. |
viewBased | View Based: Use one ad per user "view". The next time the user visits a page/screen with an add, serve the next ad in the campaign. |
timeBased | Time Based: Rotate the ads every n seconds, as defined in the campaign. |
type:
string
enum values: none
, sessionBased
, viewBased
, timeBased
campaignAds
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignAds/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/478f4f-4hoi-eeuiduk/ads?start=10&limit=10"
},
"collection": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/478f4f-4hoi-eeuiduk/ads"
},
"first": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/478f4f-4hoi-eeuiduk/ads?start=0&limit=10"
},
"next": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/478f4f-4hoi-eeuiduk/ads?start=20&limit=10"
}
},
"name": "ads",
"_embedded": {
"items": [
{
"_id": "0399abed-fd3d",
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/summaryCampaignAd/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/478f4f-4hoi-eeuiduk/ads/0399abed-fd3d"
}
}
},
{
"_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/summaryCampaignAd/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/478f4f-4hoi-eeuiduk/ads/0399abed-fd3d"
}
}
}
]
},
"count": 1,
"limit": 0,
"start": 1
}
Campaign Ad Collection (v1.0.2)
Collection of ads. The items in the collection are ordered in the _embedded.items
array; the name
is ads
. The number of ads in a campaign is relatively small, so no pagination is provided. (In the future, there may be a top-level /ads collection that aggregates all ads across all campaigns; that collection is paginated.)
Properties
Name | Description |
---|---|
Campaign Ad Collection (v1.0.2) | Collection of ads. The items in the collection are ordered in the _embedded.items array; the name is ads . The number of ads in a campaign is relatively small, so no pagination is provided. (In the future, there may be a top-level /ads collection that aggregates all ads across all campaigns; that collection is paginated.) |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | Embedded objects. |
» items | array: An array containing a page of ad items. items: object |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
count | The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter. |
start | The start index of this page of items. |
limit | The maximum number of items per page. |
name | The name of the collection. |
campaignAudienceMetric
{
"impressions": 432,
"adClicks": 321,
"targetClicks": 210
}
Campaign AudienceMetric (v1.0.0)
Defines summary metrics for a campaign audience.
Properties
Name | Description |
---|---|
Campaign AudienceMetric (v1.0.0) | Defines summary metrics for a campaign audience. |
impressions | (required) The number of times the target group was presented with the ad. minimum: 0 |
adClicks | (required) The number of times the target clicked on the ad to view the ad target. minimum: 0 |
targetClicks | (required) The number of times the target clicked on the desired ad target. minimum: 0 |
campaignCounts
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignCounts/v1.1.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaignCounts"
}
},
"draftCampaignsCount": 4,
"publishedCampaignsCount": 9,
"runningCampaignsCount": 2,
"suspendedCampaignsCount": 0,
"completedCampaignsCount": 28,
"canceledCampaignsCount": 3,
"invalidCampaignAudiencesCount": 1
}
Campaign Counts (v1.1.1)
The number of campaigns in each of the possible campaign state
s.
Properties
Name | Description |
---|---|
Campaign Counts (v1.1.1) | The number of campaigns in each of the possible campaign state s. |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
draftCampaignsCount | (required) The count of campaigns that have a state of draft minimum: 0 |
publishedCampaignsCount | (required) The count of campaigns that have a state of published .minimum: 0 |
runningCampaignsCount | (required) The count of campaigns that have a state of running .minimum: 0 |
suspendedCampaignsCount | (required) The count of campaigns that have a state of suspended .minimum: 0 |
canceledCampaignsCount | (required) The count of campaigns that have a state of canceled .minimum: 0 |
completedCampaignsCount | (required) The count of campaigns that have a state of completed .minimum: 0 |
invalidCampaignAudiencesCount | (required) The count of campaigns that have at least one invalid customer ID in their audience. (That is, the campaign's invalidCustomerIdCount is greater than 0.)minimum: 0 |
campaignInterval
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-01T23:59:59.00Z"
}
Campaign Interval (v1.0.0)
Start and end date-time run time within an ad campaign schedule.
Properties
Name | Description |
---|---|
Campaign Interval (v1.0.0) | Start and end date-time run time within an ad campaign schedule. |
startAt | (required) The date-time when the ad campaign is scheduled to begin, in RFC 3339 UTC date-time format ( YYYY-MM-DDThh:mm:ss.sssZ ).format: date-time |
endAt | (required) The date-time when the ad campaign is scheduled to end, in RFC 3339 UTC date-time format ( YYYY-MM-DDThh:mm:ss.sssZ ). This must be later than the startAt .format: date-time |
campaignMetric
{
"commercial": {
"impressions": 1432,
"adClicks": 1321,
"targetClicks": 1210
},
"focus": {
"impressions": 2432,
"adClicks": 2321,
"targetClicks": 2210
},
"agent": {
"impressions": 3432,
"adClicks": 3321,
"targetClicks": 3210
},
"smallBusiness": {
"impressions": 4432,
"adClicks": 4321,
"targetClicks": 4210
},
"retail": {
"impressions": 5432,
"adClicks": 5321,
"targetClicks": 5210
},
"subUser": {
"impressions": 6432,
"adClicks": 6321,
"targetClicks": 6210
},
"subUserAdmin": {
"impressions": 7432,
"adClicks": 7321,
"targetClicks": 7210
},
"unknown": {
"impressions": 8432,
"adClicks": 8321,
"targetClicks": 8210
},
"total": {
"impressions": 39456,
"adClicks": 38568,
"targetClicks": 37680
}
}
Campaign Metric (v1.0.0)
Campaign metrics for each user type.
Properties
Name | Description |
---|---|
Campaign Metric (v1.0.0) | Campaign metrics for each user type. |
commercial | (required) Metrics for commercial banking customers. |
focus | (required) Metrics for focus banking customers. |
agent | (required) Metrics for agent banking customers. |
smallBusiness | (required) Metrics for smallBusiness banking customers. |
retail | (required) Metrics for retail banking customers. |
subUser | (required) Metrics for sub-user banking customers. |
subUserAdmin | (required) Metrics for sub-user admin banking customers. |
unknown | (required) Metrics for banking customers whose customer type is unknown. This typically represents users who have not yet authenticated and were presented with an ad from unauthenticated part the application. |
total | Total metrics for all banking customer types. |
campaignMetrics
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignMetrics/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"items": [
{
"dateRange": "[2022-06-01,2022-06-30]",
"metrics": {
"commercial": {
"impressions": 1432,
"adClicks": 1321,
"targetClicks": 1210
},
"focus": {
"impressions": 2432,
"adClicks": 2321,
"targetClicks": 2210
},
"agent": {
"impressions": 3432,
"adClicks": 3321,
"targetClicks": 3210
},
"smallBusiness": {
"impressions": 4432,
"adClicks": 4321,
"targetClicks": 4210
},
"retail": {
"impressions": 5432,
"adClicks": 5321,
"targetClicks": 5210
},
"subUser": {
"impressions": 6432,
"adClicks": 6321,
"targetClicks": 6210
},
"subUserAdmin": {
"impressions": 7432,
"adClicks": 7321,
"targetClicks": 7210
},
"unknown": {
"impressions": 8432,
"adClicks": 8321,
"targetClicks": 8210
},
"total": {
"impressions": 39456,
"adClicks": 38568,
"targetClicks": 37680
}
}
}
]
}
Campaign Metrics (v1.0.0)
Metrics for a single campaign, broken down by date ranges.
Properties
Name | Description |
---|---|
Campaign Metrics (v1.0.0) | Metrics for a single campaign, broken down by date ranges. |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
items | array: A list of dates/metrics for this campaign. items: object |
campaignMetricsByDate
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaignMetricsByDate/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"items": [
{
"dateRange": "[2022-06-01,2022-06-30]",
"campaigns": {
"_id": "ff2c2ce8-7f2b",
"name": "Fall Promotional Campaign",
"metrics": {
"commercial": {
"impressions": 1432,
"adClicks": 1321,
"targetClicks": 1210
},
"focus": {
"impressions": 2432,
"adClicks": 2321,
"targetClicks": 2210
},
"agent": {
"impressions": 3432,
"adClicks": 3321,
"targetClicks": 3210
},
"smallBusiness": {
"impressions": 4432,
"adClicks": 4321,
"targetClicks": 4210
},
"retail": {
"impressions": 5432,
"adClicks": 5321,
"targetClicks": 5210
},
"subUser": {
"impressions": 6432,
"adClicks": 6321,
"targetClicks": 6210
},
"subUserAdmin": {
"impressions": 7432,
"adClicks": 7321,
"targetClicks": 7210
},
"unknown": {
"impressions": 8432,
"adClicks": 8321,
"targetClicks": 8210
},
"total": {
"impressions": 39456,
"adClicks": 38568,
"targetClicks": 37680
}
}
},
"_links": {
"apiture:campaign": "href: https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/ff2c2ce8-7f2b"
}
}
]
}
Metrics for Campaigns By Date (v1.0.0)
Metrics for multiple campaigns within a list of date ranges.
Properties
Name | Description |
---|---|
Metrics for Campaigns By Date (v1.0.0) | Metrics for multiple campaigns within a list of date ranges. |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
items | array: (required) A list of campaign summary metrics. items: object |
campaignMetricsItem
{
"_id": "string",
"name": "string",
"metrics": {
"commercial": {
"impressions": 1432,
"adClicks": 1321,
"targetClicks": 1210
},
"focus": {
"impressions": 2432,
"adClicks": 2321,
"targetClicks": 2210
},
"agent": {
"impressions": 3432,
"adClicks": 3321,
"targetClicks": 3210
},
"smallBusiness": {
"impressions": 4432,
"adClicks": 4321,
"targetClicks": 4210
},
"retail": {
"impressions": 5432,
"adClicks": 5321,
"targetClicks": 5210
},
"subUser": {
"impressions": 6432,
"adClicks": 6321,
"targetClicks": 6210
},
"subUserAdmin": {
"impressions": 7432,
"adClicks": 7321,
"targetClicks": 7210
},
"unknown": {
"impressions": 8432,
"adClicks": 8321,
"targetClicks": 8210
},
"total": {
"impressions": 39456,
"adClicks": 38568,
"targetClicks": 37680
}
}
}
Campaign Metrics Items (v1.1.0)
Metrics for an advertising campaign.
Properties
Name | Description |
---|---|
Campaign Metrics Items (v1.1.0) | Metrics for an advertising campaign. |
_id | (required) The unique ID of this campaign instance. |
name | (required) The name of this campaign instance. |
metrics | (required) Campaign metrics for each user type. |
campaignMetricsList
{
"dateRange": "[2022-05-01,2022-05-31]",
"campaigns": [
{
"_id": "string",
"name": "string",
"metrics": {
"commercial": {
"impressions": 1432,
"adClicks": 1321,
"targetClicks": 1210
},
"focus": {
"impressions": 2432,
"adClicks": 2321,
"targetClicks": 2210
},
"agent": {
"impressions": 3432,
"adClicks": 3321,
"targetClicks": 3210
},
"smallBusiness": {
"impressions": 4432,
"adClicks": 4321,
"targetClicks": 4210
},
"retail": {
"impressions": 5432,
"adClicks": 5321,
"targetClicks": 5210
},
"subUser": {
"impressions": 6432,
"adClicks": 6321,
"targetClicks": 6210
},
"subUserAdmin": {
"impressions": 7432,
"adClicks": 7321,
"targetClicks": 7210
},
"unknown": {
"impressions": 8432,
"adClicks": 8321,
"targetClicks": 8210
},
"total": {
"impressions": 39456,
"adClicks": 38568,
"targetClicks": 37680
}
}
}
]
}
Campaign Metrics List (v1.0.0)
Metrics for multiple ad campaigns within a date rage.
Properties
Name | Description |
---|---|
Campaign Metrics List (v1.0.0) | Metrics for multiple ad campaigns within a date rage. |
dateRange | The date range in which these metrics were collected. pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]])$ |
campaigns | array: Metrics for all campaigns active during this date range. items: object |
campaignState
"draft"
Campaign States (v1.0.0)
The set of states a campaign may have.
campaignState
strings may have one of the following enumerated values:
Value | Description |
---|---|
draft | Draft: A new campaign that is yet to be published. |
published | Published: A campaign that has been published but has not started running |
running | Running: A running, active campaign |
suspended | Suspended: A campaign that is suspended but may be resumed. No further ads are served from it. |
canceled | Canceled: A canceled campaign. No further ads are served from it. This is a terminal state. |
completed | Completed: A campaign that has completed its run. This is a terminal state. |
type:
string
enum values: draft
, published
, running
, suspended
, canceled
, completed
campaigns
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/campaigns/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns?start=10&limit=10"
},
"collection": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns"
},
"first": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns?start=0&limit=10"
},
"next": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns?start=20&limit=10"
}
},
"name": "campaigns",
"_embedded": {
"items": [
{
"_id": "0399abed-fd3d",
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/summaryCampaign/v1.2.0/profile.json",
"institutionId": "3RDPARTYBANK",
"name": "PFM Promotion",
"description": "Promote the financial institution's personal financial management module.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"createdAt": "2021-07-02T10:30:43.375Z",
"updatedAt": "2021-07-02T10:30:43.375Z",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
}
}
},
{
"_id": "d62c0701-0d74",
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/summaryCampaign/v1.2.0/profile.json",
"institutionId": "3RDPARTYBANK",
"name": "Holiday Promotion",
"description": "Promote the financial institution's holiday savings plans",
"schedule": [
{
"startAt": "2021-11-01T12:00:00.00Z",
"endAt": "2021-12-20T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"createdAt": "2021-07-02T10:30:43.375Z",
"updatedAt": "2021-07-02T10:30:43.375Z",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/d62c0701-0d74"
}
}
}
]
},
"count": 2,
"limit": 2,
"start": 0
}
Campaign Collection (v1.2.0)
Collection of campaigns. The items in the collection are ordered in the _embedded.items
array; the name
is campaigns
. The top-level _links
object may contain pagination links (self
, next
, prev
, first
, last
, collection
).
Properties
Name | Description |
---|---|
Campaign Collection (v1.2.0) | Collection of campaigns. The items in the collection are ordered in the _embedded.items array; the name is campaigns . The top-level _links object may contain pagination links (self , next , prev , first , last , collection ). |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | Embedded objects. |
» items | array: An array containing a page of campaign items. items: object |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
count | The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter. |
start | The start index of this page of items. |
limit | The maximum number of items per page. |
name | The name of the collection. |
collection
{
"_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
}
}
Collection (v2.1.1)
A collection of resources. This is an abstract model schema which is extended to define specific resource collections.
This schema was resolved from common/collection
.
Properties
Name | Description |
---|---|
Collection (v2.1.1) | A collection of resources. This is an abstract model schema which is extended to define specific resource collections. This schema was resolved from |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
count | The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter. |
start | The start index of this page of items. |
limit | The maximum number of items per page. |
name | The name of the collection. |
createCampaign
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/createCampaign/v1.0.0/profile.json",
"_links": {},
"name": "PFM Promotion",
"description": "Promote the financial institution's personal financial management module.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"institutionId": "3RDPARTYBANK"
}
Create Campaign (v1.0.0)
Representation used to create a new campaign.
Properties
Name | Description |
---|---|
Create Campaign (v1.0.0) | Representation used to create a new campaign. |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
name | (required) The name of this campaign. The name need not be unique. minLength: 4 maxLength: 32 |
description | (required) The description of this campaign, including the purpose/goals. minLength: 4 maxLength: 500 |
schedule | array: (required) The start/end date-times to run the campaign. minItems: 1 items: object |
adRotationPolicy | (required) Determines how multiple ads are rotated. Use none for campaigns with only one ad. If an ad is added to a campaign with rotation policy of none , a default policy is assigned.enum values: none , sessionBased , viewBased , timeBased |
adRotationInterval | The number of seconds before rotating to the next ad in the campaign. This property is only used if adRotationPolicy is timeBased .minimum: 1 maximum: 864000 |
institutionId | (required) The unique ID of this financial institution. minLength: 4 maxLength: 64 |
createCampaignAd
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/createCampaignAd/v1.0.1/profile.json",
"_links": {},
"name": "Holiday Promotion",
"description": "Promote our holiday savings account.",
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc"
},
"landingPage": {
"locations": {
"accountsPage": true,
"moreMenu": true,
"loginPage": false
},
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"buttonLabel": "Start Saving",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png",
"linkType": "externalUri",
"externalUri": "http://promotion.example.com/campaign/a2ffa71627eb90bdc42f/"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc",
"buttonBackground": "#0c0c0c",
"buttonText": "#00fcfc"
}
}
}
Create Campaign Ad (v1.0.1)
Representation used to create a new campaign ad.
Properties
Name | Description |
---|---|
Create Campaign Ad (v1.0.1) | Representation used to create a new campaign ad. |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
name | (required) The name of this ad. The name need not be unique. minLength: 4 maxLength: 32 |
description | The description of this ad, its content, and the ad's purpose/goal. minLength: 4 maxLength: 500 |
locations | (required) Where the ad may appear in the application. |
content | (required) The ad's localizable visual content. This object maps locales/languages to the ad content to display for customers, based on their language preference. Keys are RFC 3066 locale strings such as "en" , "fr" , "es-MX" and so on. |
» Campaign Ad Content (v1.0.0) | Language-specific presentation content for an ad. |
» en | (required) The (default) English ad content. |
colors | (required) The ad's colors. |
landingPage | The ad's landing page |
createUpload
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/createUpload/v1.0.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"path": "/campaigns/pfm-fall-2021/banner.png",
"contentType": "image/png",
"replace": true,
"unauthenticatedDownload": true
}
Create Upload (v1.0.1)
Representation used to create a new upload. Specify the path (name) of the file to be uploaded, its content type, and if the file is available for unauthenticated download.
Properties
Name | Description |
---|---|
Create Upload (v1.0.1) | Representation used to create a new upload. Specify the path (name) of the file to be uploaded, its content type, and if the file is available for unauthenticated download. |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
path | (required) The relative path for the uploaded file in the file resource server. Callers are encouraged to use meaningful nested path structures to organize content. The path elements (separated by slash / characters) must be defined with letters, digits, - , . or _ characters.minLength: 4 maxLength: 256 pattern: /^\/[-a-zA-Z0-9_.]+(\/[-a-zA-Z0-9_.]+)*$/ |
replace | (required) If true , uploading the file replaces the content of the previous file of the same path if the file already exists. If |
contentType | (required) The media type for this file. For text documents, the content type should include the text encoding; if omitted, the encoding type is assumed to be utf-8. |
unauthenticatedDownload | (required) If true , the uploaded file is published to a location where it can be downloaded later without authentication, for access by web pages or other clients. The file resource's public apiture:content URL is be some public base URL with the path appended to it. |
customerCategories
{
"unknown": false,
"commercial": true,
"retail": false,
"subUsers": true,
"subUsersAdministrators": false
}
Customer Category (v1.0.0)
The customer category to use for this audience. At least one of these options must be true.
Properties
Name | Description |
---|---|
Customer Category (v1.0.0) | The customer category to use for this audience. At least one of these options must be true. |
all | If true , include all customers. The other options are ignored, even if false.default: false |
unknown | If true , include customers who do not fit the other categories in the audience.default: false |
commercial | If true , include commercial (business) banking customers in the audience.default: false |
retail | If true , include retail (personal) banking customers in the audience.default: false |
subUsers | If true , include customers who have a sub-user role in the audience.default: false |
subUsersAdministrators | If true , include customers who have a sub-user administrator role in the audience.default: false |
dateRange
"[2022-05-01,2022-05-31]"
Date Range (v1.0.0)
A date range, supporting inclusive or exclusive endpoints. Dates ranges use dates expressed in YYYY-MM-DD
RFC 3339 date
format. The value may have the following forms:
YYYY-MM-DD
match the date exactly; equivalent to matching dates in the range[YYYY-MM-DD,YYYY-MM-DD]
[YYYY-MM-DD,YYYY-MM-DD]
between two dates, inclusive of the endpoints(YYYY-MM-DD,YYYY-MM-DD)
between two dates, exclusive of the endpoints[YYYY-MM-DD,]
on or after the date(YYYY-MM-DD,)
after the date[,YYYY-MM-DD]
before or on the date(,YYYY-MM-DD)
before the date
type:
string
pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)]])$
datedCampaignMetric
{
"dateRange": "[2022-05-01,2022-05-31]",
"metrics": [
{
"commercial": {
"impressions": 1432,
"adClicks": 1321,
"targetClicks": 1210
},
"focus": {
"impressions": 2432,
"adClicks": 2321,
"targetClicks": 2210
},
"agent": {
"impressions": 3432,
"adClicks": 3321,
"targetClicks": 3210
},
"smallBusiness": {
"impressions": 4432,
"adClicks": 4321,
"targetClicks": 4210
},
"retail": {
"impressions": 5432,
"adClicks": 5321,
"targetClicks": 5210
},
"subUser": {
"impressions": 6432,
"adClicks": 6321,
"targetClicks": 6210
},
"subUserAdmin": {
"impressions": 7432,
"adClicks": 7321,
"targetClicks": 7210
},
"unknown": {
"impressions": 8432,
"adClicks": 8321,
"targetClicks": 8210
},
"total": {
"impressions": 39456,
"adClicks": 38568,
"targetClicks": 37680
}
}
]
}
Dated Campaign Metric (v1.0.0)
Campaign metrics for a date range.
Properties
Name | Description |
---|---|
Dated Campaign Metric (v1.0.0) | Campaign metrics for a date range. |
dateRange | The date range in which these metrics were collected. pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]])$ |
metrics | array: An array of campaigns that were active during the date range, and their metrics within that range. items: object |
error
{
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
}
Error (v2.1.0)
Describes an error in an API request or in a service called via the API.
This schema was resolved from common/error
.
Properties
Name | Description |
---|---|
Error (v2.1.0) | Describes an error in an API request or in a service called via the API. This schema was resolved from |
message | (required) A localized message string describing the error condition. |
_id | A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string. read-only |
statusCode | The HTTP status code associate with this error. minimum: 100 maximum: 599 |
type | An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode . For example, instead of just 400 Bad Request, the type may be much more specific. such as integerValueNotInAllowedRange or numericValueExceedsMaximum or stringValueNotInAllowedSet . |
occurredAt | An RFC 3339 UTC time stamp indicating when the error occurred. format: date-time |
attributes | Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type . |
remediation | An optional localized string which provides hints for how the user or client can resolve the error. |
errors | array: An optional array of nested error objects. This property is not always present. items: object |
errorResponse
{
"_profile": "https://production.api.apiture.com/schemas/common/errorResponse/v2.1.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"_error": {
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"message": "Description of the error will appear here.",
"statusCode": 422,
"type": "specificErrorType",
"attributes": {
"value": "Optional attribute describing the error"
},
"remediation": "Optional instructions to remediate the error may appear here.",
"occurredAt": "2018-01-25T05:50:52.375Z",
"_links": {
"describedby": {
"href": "https://production.api.apiture.com/errors/specificErrorType"
}
},
"_embedded": {
"errors": []
}
}
}
Error Response (v2.1.1)
Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error
object contains the error details.
This schema was resolved from common/errorResponse
.
Properties
Name | Description |
---|---|
Error Response (v2.1.1) | Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error object contains the error details. This schema was resolved from |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
landingPage
{
"locations": {
"accountsPage": true,
"moreMenu": true,
"loginPage": false
},
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"buttonLabel": "Start Saving",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png",
"linkType": "externalUri",
"externalUri": "http://promotion.example.com/campaign/a2ffa71627eb90bdc42f/"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc",
"buttonBackground": "#0c0c0c",
"buttonText": "#00fcfc"
}
}
Ad Landing Page (v1.0.0)
When a user clicks on an ad, the client directs them to the ad's landing page which presents the content of the ad campaign.
Properties
Name | Description |
---|---|
Ad Landing Page (v1.0.0) | When a user clicks on an ad, the client directs them to the ad's landing page which presents the content of the ad campaign. |
content | (required) The landing page's localizable visual content. This object maps locales/languages to the landing page content to display for customers, based on their language preference. Keys are RFC 3066 locale strings such as "en" , "fr" , "es-MX" and so on. |
» Ad Landing Page Content (v1.0.0) | The content of the ad's landing page. |
» en | (required) The (default) English landing page content. |
colors | (required) The landing page colors. |
landingPageColors
{
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc",
"buttonBackground": "#0c0c0c",
"buttonText": "#00fcfc"
}
Landing Page Colors (v1.0.0)
The visual colors to use when presenting the landing page content.
Properties
Name | Description |
---|---|
Landing Page Colors (v1.0.0) | The visual colors to use when presenting the landing page content. |
background | (required) The ad's background color. format: color pattern: ^#[A-Fa-f0-9]{3,6}$ |
headlineText | (required) The ad headline's color. format: color pattern: ^#[A-Fa-f0-9]{3,6}$ |
bodyText | (required) The ad body's color. format: color pattern: ^#[A-Fa-f0-9]{3,6}$ |
buttonBackground | (required) The ad landing page button's background color. format: color pattern: ^#[A-Fa-f0-9]{3,6}$ |
buttonText | (required) The ad landing page button's text (foreground) color. format: color pattern: ^#[A-Fa-f0-9]{3,6}$ |
landingPageContent
{
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png"
}
Ad Landing Page Content (v1.0.0)
The content of the ad's landing page.
Properties
Name | Description |
---|---|
Ad Landing Page Content (v1.0.0) | The content of the ad's landing page. |
headline | (required) The title or headline for the ad. This is a short phrase with no line breaks. minLength: 0 maxLength: 80 |
body | (required) The main text of the ad. This is Markdown text and may include lists, bold text, italics text, etc. format: markdown minLength: 0 maxLength: 400 |
imageUri | (required) The URI of the banner images for this ad. format: uri maxLength: 2000 |
buttonLabel | The button text label. maxLength: 64 |
linkType | (required) Where to direct the user when they click on the landing page button. enum values: externalUri , applicationPage |
externalUri | If linkType is externalUri , this is the URI to show when a user clicks this landing page's button.format: uri maxLength: 2000 |
internalPage | If linkType is internalPage , this is ID of the page to show when a user clicks this landing page's button.maxLength: 2000 |
landingPageLinkType
"externalUri"
Landing Page Link Type (v1.0.0)
Defines the type of the landing page link target.
landingPageLinkType
strings may have one of the following enumerated values:
Value | Description |
---|---|
externalUri | External URI: When the user clicks on the landing page button, redirect them to a browser displaying an external URL. |
applicationPage | Application Page: When the user clicks on the landing page button, redirect them to a specific page in the client application. |
type:
string
enum values: externalUri
, applicationPage
lastLoginRelativeTo
"before"
Last Login Relative (v1.0.0)
Indicates last login before, on, or after a date.
lastLoginRelativeTo
strings may have one of the following enumerated values:
Value | Description |
---|---|
before | Before: Before (but not on) a given date |
on | On: On a given date. |
after | After: After (but not on) a given date |
type:
string
enum values: before
, on
, after
lastLoginTimeFrame
{
"when": "before",
"date1": "2019-08-24"
}
Last Login Time Frame (v1.0.1)
Audience selection criteria for users who logged in on, before, or after a given date.
Properties
Name | Description |
---|---|
Last Login Time Frame (v1.0.1) | Audience selection criteria for users who logged in on, before, or after a given date. |
when | (required) Select a date range on, before, or after date1. enum values: before , on , after |
date1 | (required) The selected date. format: date |
link
{
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
Link (v1.0.0)
Describes a hypermedia link within a _links
object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name
or hreflang
properties of HAL. Apiture links may include a method
property.
This schema was resolved from common/link
.
Properties
Name | Description |
---|---|
Link (v1.0.0) | Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property. This schema was resolved from |
href | (required) The URI or URI template for the resource/operation this link refers to. format: uri |
type | The media type for the resource. |
templated | If true, the link's href is a URI template. |
title | An optional human-readable localized title for the link. |
deprecation | If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation. format: uri |
profile | The URI of a profile document, a JSON document which describes the target resource/operation. format: uri |
links
{
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
}
Links (v1.0.0)
An optional map of links, mapping each link relation to a link object. This model defines the _links
object of HAL representations.
This schema was resolved from common/links
.
Properties
Name | Description |
---|---|
Links (v1.0.0) | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
Link (v1.0.0) | Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property. This schema was resolved from |
root
{
"_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
}
},
"id": "apiName",
"name": "API name",
"apiVersion": "1.0.0"
}
API Root (v2.1.1)
A HAL response, with hypermedia _links
for the top-level resources and operations in API.
This schema was resolved from common/root
.
Properties
Name | Description |
---|---|
API Root (v2.1.1) | A HAL response, with hypermedia _links for the top-level resources and operations in API. This schema was resolved from |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
_id | This API's unique ID. read-only |
name | This API's name. |
apiVersion | This API's version. |
summaryCampaign
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/summaryCampaign/v1.2.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/campaigns/0399abed-fd3d"
}
},
"name": "PFM Promotion",
"description": "Promote the financial institution's personal financial management module.",
"schedule": [
{
"startAt": "2021-08-01T12:00:00.00Z",
"endAt": "2021-08-10T23:59:59.000Z"
}
],
"adRotationPolicy": "timeBased",
"adRotationInterval": 240,
"_id": "0399abed-fd3d",
"institutionId": "3RDPARTYBANK",
"state": "running",
"archived": false,
"invalidCustomerIdCount": 0,
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850"
}
Campaign Summary (v1.2.0)
Summary representation of a campaign resource in campaigns collections. This representation normally does not contain any _embedded
objects. If needed, call the GET
operation on the item's self
link to get _embedded
objects.
Properties
Name | Description |
---|---|
Campaign Summary (v1.2.0) | Summary representation of a campaign resource in campaigns collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects. |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
name | The name of this campaign. The name need not be unique. minLength: 4 maxLength: 32 |
description | The description of this campaign, including the purpose/goals. minLength: 4 maxLength: 500 |
schedule | array: The start/end date-times to run the campaign. minItems: 1 items: object |
adRotationPolicy | Determines how multiple ads are rotated. Use none for campaigns with only one ad. If an ad is added to a campaign with rotation policy of none , a default policy is assigned.enum values: none , sessionBased , viewBased , timeBased |
adRotationInterval | The number of seconds before rotating to the next ad in the campaign. This property is only used if adRotationPolicy is timeBased .minimum: 1 maximum: 864000 |
_id | The unique identifier for this campaign resource. This is an immutable opaque string. read-only minLength: 16 maxLength: 48 |
institutionId | The unique ID of this financial institution. read-only minLength: 4 maxLength: 64 |
state | The state of this campaign. Update a draft campaign to published (scheduled) via publishCampaign or cancelCampaign , suspendCampaign (if running), or resumeCampaign (if suspended). The service automatically changes the state to running or completed at the start or end of the scheduled run period.read-only enum values: draft , published , running , suspended , canceled , completed |
archived | Indicates that the campaign was archived. This property is only changed through the archiveCampaign operation.read-only |
invalidCustomerIdCount | The number of customer IDs in the corresponding audience that are invalid. This property is omitted if the data has not yet been validated. See also the apiture:audienceCsvUri link.read-only minimum: 0 |
createdAt | The date-time when the campaign was created, in YYYY-MM-DDThh:mm:ss.sssZ RFC 3339 date-time format, UTC. This is derived and immutable.read-only format: date-time |
createdBy | The username of the person who created this campaign resource. read-only |
updatedAt | The date-time when the campaign was last updated, in YYYY-MM-DDThh:mm:ss.sssZ RFC 3339 date-time format, UTC. This is derived and immutable.read-only format: date-time |
updatedBy | The username of the person who last modified this campaign resource. read-only |
summaryCampaignAd
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/summaryCampaignAd/v1.0.2/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbi-admin/advertising/ads/0399abed-fd3d"
}
},
"_id": "0399abed-fd3d",
"name": "Holiday Promotion",
"description": "Promote our holiday savings account.",
"content": {
"en": {
"headline": "Save for the Holidays!",
"body": "Open a Holiday Savings Account today so you are prepared for holiday giving.",
"imageUri": "http://cdn.example.com/images/campaigns/2021/holiday-ad-01.png"
}
},
"colors": {
"background": "#ffffff",
"headlineText": "#00fcfc",
"bodyText": "#00fcfc"
},
"createdAt": "2021-07-02T10:30:43.375Z",
"createdBy": "muggle3850",
"updatedAt": "2021-07-02T10:30:43.375Z",
"updatedBy": "muggle3850"
}
Campaign Ad Summary (v1.0.2)
Summary representation of an ad resource in a campaign. This representation normally does not contain any _embedded
objects. If needed, call the GET
operation on the item's self
link to get _embedded
objects. Note: In this schema, the content
only includes en
and not other locales.
Properties
Name | Description |
---|---|
Campaign Ad Summary (v1.0.2) | Summary representation of an ad resource in a campaign. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects. Note: In this schema, the content only includes en and not other locales. |
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | The URI of a resource profile which describes the representation. read-only format: uri |
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only |
name | The name of this ad. The name need not be unique. minLength: 4 maxLength: 32 |
description | The description of this ad, its content, and the ad's purpose/goal. minLength: 4 maxLength: 500 |
locations | Where the ad may appear in the application. |
content | The ad's localizable visual content. This object maps locales/languages to the ad content to display for customers, based on their language preference. Keys are RFC 3066 locale strings such as "en" , "fr" , "es-MX" and so on. |
» Campaign Ad Content (v1.0.0) | Language-specific presentation content for an ad. |
» en | (required) The (default) English ad content. |
_id | The unique identifier for this ad resource. This is an immutable opaque string. read-only maxLength: 48 |
createdAt | The date-time when the campaign ad was created, in YYYY-MM-DDThh:mm:ss.sssZ RFC 3339 date-time format, UTC. This is derived and immutable.read-only format: date-time |
createdBy | The username of the person who created this campaign ad resource. read-only |
updatedAt | The date-time when the campaign ad was last updated, in YYYY-MM-DDThh:mm:ss.sssZ RFC 3339 date-time format, UTC. This is derived and immutable.read-only format: date-time |
updatedBy | The username of the person who last modified this campaign ad resource. read-only |
upload
{
"_profile": "https://production.api.apiture.com/schemas/axbiAdminAdvertising/upload/v1.0.1/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/axbiAdminAdvertising/uploads/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:uploadUrl": {
"href": "https://api.devbank.apiture.com/some/opaque/upload/url/for/this/file"
},
"apiture:content": {
"href": "https://cdn.example.com/resources/campaigns/pfm-fall-2021/banner.png"
}
},
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"contentType": "image/png",
"path": "/campaigns/pfm-fall-2021/banner.png",
"replace": true,
"renamed": false,
"state": "pending",
"unauthenticatedDownload": true,
"expiresAt": "2021-12-23T00:00:00.000Z",
"maximumFileSizeBytes": 25000000
}
Upload (v1.0.1)
Represents a file upload. After creating n upload, the client should PUT
the file(s) content to the upload URLs to upload each file's contents.
Links
Response and request bodies using this upload
schema may contain the following links:
Rel | Summary | Method |
---|---|---|
self | Fetch a representation of this upload | GET |
apiture:uploadUrl | If uploading is available, the URL to PUT the file content for uploading | PUT |
apiture:content | If downloading is available, the URL to GET the file content for direct access or download | GET |
Properties
Name | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Upload (v1.0.1) | Represents a file upload. After creating n upload, the client should LinksResponse and request bodies using this
| ||||||||||||
_links | An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from | ||||||||||||
_embedded | An optional map of nested resources, mapping each nested resource name to a nested resource representation. | ||||||||||||
_profile | The URI of a resource profile which describes the representation. read-only format: uri | ||||||||||||
_error | An object which describes an error. This value is omitted if the operation succeeded without error. read-only | ||||||||||||
path | (required) The relative path for the uploaded file in the file resource server. Callers are encouraged to use meaningful nested path structures to organize content. The path elements (separated by slash / characters) must be defined with letters, digits, - , . or _ characters.minLength: 4 maxLength: 256 pattern: /^\/[-a-zA-Z0-9_.]+(\/[-a-zA-Z0-9_.]+)*$/ | ||||||||||||
replace | (required) If true , uploading the file replaces the content of the previous file of the same path if the file already exists. If | ||||||||||||
contentType | (required) The media type for this file. For text documents, the content type should include the text encoding; if omitted, the encoding type is assumed to be utf-8. | ||||||||||||
unauthenticatedDownload | (required) If true , the uploaded file is published to a location where it can be downloaded later without authentication, for access by web pages or other clients. The file resource's public apiture:content URL is be some public base URL with the path appended to it. | ||||||||||||
_id | (required) The unique identifier for this upload resource. This is an immutable opaque string. read-only | ||||||||||||
state | The status of the upload request.
enum values: pending , started , completed , failed | ||||||||||||
renamed | (required) If true , the service renamed the path to avoid conflicting with an existing file of the same name. | ||||||||||||
maximumFileSizeBytes | (required) The maximum individual file size allowed, in bytes. This is a derived field. read-only minimum: 1000000 maximum: 160000000000 | ||||||||||||
expiresAt | (required) The date-time when this upload request expires. If no file is uploaded by this time, this upload request is deleted and the upload URL in each file resource may no longer work. This is a derived field. read-only format: date-time |
@apiture/api-doc
3.1.0 on Fri Nov 03 2023 17:36:12 GMT+0000 (Coordinated Universal Time).