Shell HTTP Node.JS JavaScript Ruby Python Java Go

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:

Terms of service

Email: Apiture Web: Apiture

Authentication

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.

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

ParameterDescription
institutionId string (required)
Limit results to the financial institution identified by this unique institution ID.
minLength: 4
maxLength: 64
archived boolean
Only return campaigns that have archived value of true.
closed 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 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.
Default: 0
limit integer(int32)
The maximum number of campaign representations to return in this page.
Default: 100
sortBy 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 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

StatusDescription
200 OK
OK.
Schema: campaigns
StatusDescription
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
StatusDescription
403 Forbidden
Forbidden. The caller does not have authority to access campaigns for the given institutionId.
Schema: errorResponse
StatusDescription
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

ParameterDescription
copyOf 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

StatusDescription
201 Created
Created.
Schema: campaign
HeaderLocation
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
StatusDescription
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
StatusDescription
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

ParameterDescription
If-None-Match 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 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

StatusDescription
200 OK
OK.
Schema: campaign
StatusDescription
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

ParameterDescription
body campaign
A new campaign
campaignId 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

StatusDescription
200 OK
OK.
Schema: campaign
StatusDescription
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
StatusDescription
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
StatusDescription
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

ParameterDescription
body campaign
The new campaign.
campaignId 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

StatusDescription
200 OK
OK.
Schema: campaign
StatusDescription
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
StatusDescription
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
StatusDescription
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

ParameterDescription
campaignId 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

StatusDescription
204 No Content
No Content. The resource was deleted successfully.
StatusDescription
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

ParameterDescription
campaign 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

StatusDescription
200 OK
OK. The operation succeeded. The campaign was updated and its state changed to canceled.
Schema: campaign
StatusDescription
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 type values:

Schema: errorResponse
StatusDescription
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

ParameterDescription
campaign 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

StatusDescription
200 OK
OK. The operation succeeded. The campaign was updated and its archived property changed to true.
Schema: campaign
StatusDescription
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 type values:

Schema: errorResponse
StatusDescription
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

ParameterDescription
campaign 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

StatusDescription
200 OK
OK. The operation succeeded. The campaign was updated and its state changed to canceled.
Schema: campaign
StatusDescription
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 type values:

Schema: errorResponse
StatusDescription
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

ParameterDescription
campaign 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

StatusDescription
200 OK
OK. The operation succeeded. The campaign was updated and its state changed to running.
Schema: campaign
StatusDescription
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 type values:

Schema: errorResponse
StatusDescription
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

ParameterDescription
campaign 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

StatusDescription
200 OK
OK. The operation succeeded. The campaign was updated and its state changed to suspended.
Schema: campaign
StatusDescription
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 type values:

Schema: errorResponse
StatusDescription
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

ParameterDescription
start 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.
Default: 0
limit integer(int32)
The maximum number of ad representations to return in this page.
Default: 100
sortBy string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
filter string
Optional filter criteria. See filtering.
campaignId 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

StatusDescription
200 OK
OK.
Schema: campaignAds
StatusDescription
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
StatusDescription
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

ParameterDescription
body createCampaignAd
The data necessary to create a new ad.
campaignId 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

StatusDescription
201 Created
Created.
Schema: campaignAd
HeaderLocation
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
StatusDescription
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

ParameterDescription
If-None-Match 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 string (required)
The unique identifier of this campaign. This is an opaque string.
minLength: 16
maxLength: 48
adId 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

StatusDescription
200 OK
OK.
Schema: campaignAd
StatusDescription
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

ParameterDescription
body campaignAd
A new ad
campaignId string (required)
The unique identifier of this campaign. This is an opaque string.
minLength: 16
maxLength: 48
adId 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

StatusDescription
200 OK
OK.
Schema: campaignAd
StatusDescription
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
StatusDescription
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
StatusDescription
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

ParameterDescription
body campaignAd
The new ad.
campaignId string (required)
The unique identifier of this campaign. This is an opaque string.
minLength: 16
maxLength: 48
adId 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

StatusDescription
200 OK
OK.
Schema: campaignAd
StatusDescription
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
StatusDescription
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
StatusDescription
409 Conflict

Conflict.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
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

ParameterDescription
campaignId string (required)
The unique identifier of this campaign. This is an opaque string.
minLength: 16
maxLength: 48
adId 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

StatusDescription
204 No Content
No Content. The resource was deleted successfully.
StatusDescription
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

ParameterDescription
dateRanges 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:
» 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 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

StatusDescription
200 OK
OK.
Schema: campaignMetrics
StatusDescription
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
StatusDescription
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.

This error response may have one of the following type values:

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

ParameterDescription
dateRange 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:
» 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

StatusDescription
200 OK
OK.
Schema: campaignMetricsByDate
StatusDescription
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
StatusDescription
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

ParameterDescription
institutionId 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

StatusDescription
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

ParameterDescription
campaignId 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

StatusDescription
200 OK
OK.
Schema: audienceDefinition
StatusDescription
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

ParameterDescription
body audienceDefinition
The data necessary to create a new audience.
campaignId 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

StatusDescription
200 OK
OK.
Schema: audienceDefinition
StatusDescription
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
StatusDescription
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
StatusDescription
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

ParameterDescription
start 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.
Default: 0
minimum: 0
limit integer(int32)
The maximum number of audience representations to return in this page.
Default: 100000
minimum: 0
maximum: 200000
campaignId 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

StatusDescription
200 OK
OK.
Schema: audienceIds
StatusDescription
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
StatusDescription
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

ParameterDescription
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

StatusDescription
201 Created
Created.
Schema: upload
HeaderLocation
string uri
The URI of the new upload resource for tracking the upload.
StatusDescription
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

ParameterDescription
uploadId 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

StatusDescription
200 OK
OK.
Schema: upload
HeaderETag
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.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
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

ParameterDescription
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.
uploadId 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

StatusDescription
200 OK
OK.
Schema: upload
StatusDescription
303 See Other
See Other. Retry the operation using the URL in the Location response header.
HeaderLocation
string uri
The URI of the new upload resource for tracking the upload.
StatusDescription
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
StatusDescription
409 Conflict
Conflict. The Content-Type did not match the contentType of the upload resource.
Schema: errorResponse
StatusDescription
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 type values:

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

ParameterDescription
institutionId 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

StatusDescription
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

ParameterDescription
body advertisingServiceConfiguration
Configuration properties.
institutionId 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

StatusDescription
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

StatusDescription
200 OK
OK.
Schema: root

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

StatusDescription
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

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only

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

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: 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

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
autoArchiveEnabled boolean
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

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:

  1. a document containing a list of customer IDs (access ID), or
  2. 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

NameDescription
customerCategories object: customerCategories
The optional customer categories to use for this audience.
regions array: [string]
An optional array of states/territories.
unique items
minItems: 1
items:
» pattern: ^[A-Z][A-Z]$
postalCodes array: [string]
A list of postal codes or a postal code range.
minLength: 0
maxLength: 32
items:
» minLength: 5
» maxLength: 11
» pattern: ^[0-9]{5}(-[0-9]{1,5})?$
lastLoginTimeFrame object: lastLoginTimeFrame
Select customer who last logged in during the given time frame.
customerListUri string(uri)
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 GET to the URI directly, and not require additional Authorization or other headers to access (the URI may contain query parameters.)

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.
maxLength: 2000

createdAt string(date-time)
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
updatedAt string(date-time)
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

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.

Response and request bodies using this audienceIds schema may contain the following links:

RelSummaryMethod
selfReturn a page of the campaign's audience customer IDsGET
nextGet the next page if customer IDsGET

Properties

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
start integer (required)
The index of the first ID in the page.
limit integer
The limit from the request.
items array: [string] (required)
The list of customer IDs in this page.
items:
» 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).

Response and request bodies using this campaign schema may contain the following links:

RelSummaryMethod
selfFetch a representation of this campaignGET
apiture:publishPublish a campaignPOST
apiture:suspendSuspend a campaignPOST
apiture:resumeResume a campaignPOST
apiture:cancelCancel a campaignPOST
apiture:adsReturn a collection of adsGET
apiture:audienceReturn the campaign's audience definition.GET
apiture:createCampaignAdCreate a new campaign adPOST
apiture:audienceCsvUri URI of a CSV file listing the customer IDsGET

Properties

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The name of this campaign. The name need not be unique.
minLength: 4
maxLength: 32
description string
The description of this campaign, including the purpose/goals.
minLength: 4
maxLength: 500
schedule array: [campaignInterval]
The start/end date-times to run the campaign.
minItems: 1
adRotationPolicy string: campaignAdRotationPolicy
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 integer
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 string
The unique identifier for this campaign resource. This is an immutable opaque string.
read-only
minLength: 16
maxLength: 48
institutionId string
The unique ID of this financial institution.
read-only
minLength: 4
maxLength: 64
state string: campaignState
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 boolean
Indicates that the campaign was archived. This property is only changed through the archiveCampaign operation.
read-only
invalidCustomerIdCount integer
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 string(date-time)
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
createdBy string
The username of the person who created this campaign resource.
read-only
updatedAt string(date-time)
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
updatedBy string
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

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The name of this ad. The name need not be unique.
minLength: 4
maxLength: 32
description string
The description of this ad, its content, and the ad's purpose/goal.
minLength: 4
maxLength: 500
locations object: campaignAdLocations
Where the ad may appear in the application.
content object
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.
» additionalProperties object: campaignAdContent
Language-specific presentation content for an ad.
» en object: campaignAdContent (required)
The (default) English ad content.
_id string
The unique identifier for this ad resource. This is an immutable opaque string.
read-only
maxLength: 48
createdAt string(date-time)
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
createdBy string
The username of the person who created this campaign ad resource.
read-only
updatedAt string(date-time)
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
updatedBy string
The username of the person who last modified this campaign ad resource.
read-only
colors object: campaignAdColors
The ad's colors.
landingPage object: 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

NameDescription
background string(color) (required)
The ad's background color.
pattern: ^#[A-Fa-f0-9]{3,6}$
headlineText string(color) (required)
The ad headline's color.
pattern: ^#[A-Fa-f0-9]{3,6}$
bodyText string(color) (required)
The ad body's 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

NameDescription
headline string (required)
The title or headline for the ad. This is a short phrase with no line breaks.
minLength: 0
maxLength: 80
body string(markdown) (required)
The main text of the ad. This is Markdown text and may include lists, bold text, italics text, etc.
minLength: 0
maxLength: 400
imageUri string(uri) (required)
The URI of the banner images for this ad.
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

NameDescription
accountsPage boolean
If true, display the on the account details page.
moreMenu boolean
If true, display the in the "More" menu.
loginPage boolean
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:

ValueDescription
noneNone: No rotation policy. Used for campaigns with only one ad.
sessionBasedSession Based: Use one ad per user session. On the customer's next session, display the next ad.
viewBasedView 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.
timeBasedTime 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

NameDescription
_links object: 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 common/links.

_embedded object
Embedded objects.
» items array: [summaryCampaignAd]
An array containing a page of ad items.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
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 integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
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

NameDescription
impressions integer (required)
The number of times the target group was presented with the ad.
minimum: 0
adClicks integer (required)
The number of times the target clicked on the ad to view the ad target.
minimum: 0
targetClicks integer (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 states.

Properties

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
draftCampaignsCount integer (required)
The count of campaigns that have a state of draft
minimum: 0
publishedCampaignsCount integer (required)
The count of campaigns that have a state of published.
minimum: 0
runningCampaignsCount integer (required)
The count of campaigns that have a state of running.
minimum: 0
suspendedCampaignsCount integer (required)
The count of campaigns that have a state of suspended.
minimum: 0
canceledCampaignsCount integer (required)
The count of campaigns that have a state of canceled.
minimum: 0
completedCampaignsCount integer (required)
The count of campaigns that have a state of completed.
minimum: 0
invalidCampaignAudiencesCount integer (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

NameDescription
startAt string(date-time) (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 ).
endAt string(date-time) (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.

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

NameDescription
commercial object: campaignAudienceMetric (required)
Metrics for commercial banking customers.
focus object: campaignAudienceMetric (required)
Metrics for focus banking customers.
agent object: campaignAudienceMetric (required)
Metrics for agent banking customers.
smallBusiness object: campaignAudienceMetric (required)
Metrics for smallBusiness banking customers.
retail object: campaignAudienceMetric (required)
Metrics for retail banking customers.
subUser object: campaignAudienceMetric (required)
Metrics for sub-user banking customers.
subUserAdmin object: campaignAudienceMetric (required)
Metrics for sub-user admin banking customers.
unknown object: campaignAudienceMetric (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 object: campaignAudienceMetric
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

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
items array: [datedCampaignMetric]
A list of dates/metrics for this campaign.

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

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
items array: [campaignMetricsList] (required)
A list of campaign summary metrics.

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

NameDescription
_id string (required)
The unique ID of this campaign instance.
name string (required)
The name of this campaign instance.
metrics object: campaignMetric (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

NameDescription
dateRange string: 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: [campaignMetricsItem]
Metrics for all campaigns active during this date range.

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:

ValueDescription
draftDraft: A new campaign that is yet to be published.
publishedPublished: A campaign that has been published but has not started running
runningRunning: A running, active campaign
suspendedSuspended: A campaign that is suspended but may be resumed. No further ads are served from it.
canceledCanceled: A canceled campaign. No further ads are served from it. This is a terminal state.
completedCompleted: 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

NameDescription
_links object: 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 common/links.

_embedded object
Embedded objects.
» items array: [summaryCampaign]
An array containing a page of campaign items.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
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 integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
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

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
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 integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
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

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
name string (required)
The name of this campaign. The name need not be unique.
minLength: 4
maxLength: 32
description string (required)
The description of this campaign, including the purpose/goals.
minLength: 4
maxLength: 500
schedule array: [campaignInterval] (required)
The start/end date-times to run the campaign.
minItems: 1
adRotationPolicy string: campaignAdRotationPolicy (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 integer
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 string (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

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
name string (required)
The name of this ad. The name need not be unique.
minLength: 4
maxLength: 32
description string
The description of this ad, its content, and the ad's purpose/goal.
minLength: 4
maxLength: 500
locations object: campaignAdLocations (required)
Where the ad may appear in the application.
content object (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.
» additionalProperties object: campaignAdContent
Language-specific presentation content for an ad.
» en object: campaignAdContent (required)
The (default) English ad content.
colors object: campaignAdColors (required)
The ad's colors.
landingPage object: 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

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
path number (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 boolean (required)
If true, uploading the file replaces the content of the previous file of the same path if the file already exists.

If false, the service may rename the path to a unique pathname to avoid replacing (overwriting) the existing file. The new upload's path (available in the response) is automatically renamed by adding a comma , as a separator and a unique numeric suffix before the file extension if any. For example, if /campaigns/fall/banner.png already exists, uploading a new document with that same path and replace: false results in the path banner,1.png and uploading yet another file with the same path1 is named banner,2.png, and so on. The modified file path names are URL-safe and do not require URL encoding. The renamedproperty valuetrue` informs the caller that the service renamed the file to avoid overwriting an existing file.

contentType string (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 boolean (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

NameDescription
all boolean
If true, include all customers. The other options are ignored, even if false.
Default: false
unknown boolean
If true, include customers who do not fit the other categories in the audience.
Default: false
commercial boolean
If true, include commercial (business) banking customers in the audience.
Default: false
retail boolean
If true, include retail (personal) banking customers in the audience.
Default: false
subUsers boolean
If true, include customers who have a sub-user role in the audience.
Default: false
subUsersAdministrators boolean
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:

Type: string
pattern: ^\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

NameDescription
dateRange string: 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: [campaignMetric]
An array of campaigns that were active during the date range, and their metrics within that range.

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

NameDescription
message string (required)
A localized message string describing the error condition.
_id string
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 integer
The HTTP status code associate with this error.
minimum: 100
maximum: 599
type string
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 string(date-time)
An RFC 3339 UTC time stamp indicating when the error occurred.
attributes object: 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 string
An optional localized string which provides hints for how the user or client can resolve the error.
errors array: [error]
An optional array of nested error objects. This property is not always present.
_links object: 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 common/links.

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

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: 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

NameDescription
content object (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.
» additionalProperties object: landingPageContent
The content of the ad's landing page.
» en object: landingPageContent (required)
The (default) English landing page content.
colors object: landingPageColors (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

NameDescription
background string(color) (required)
The ad's background color.
pattern: ^#[A-Fa-f0-9]{3,6}$
headlineText string(color) (required)
The ad headline's color.
pattern: ^#[A-Fa-f0-9]{3,6}$
bodyText string(color) (required)
The ad body's color.
pattern: ^#[A-Fa-f0-9]{3,6}$
buttonBackground string(color) (required)
The ad landing page button's background color.
pattern: ^#[A-Fa-f0-9]{3,6}$
buttonText string(color) (required)
The ad landing page button's text (foreground) 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

NameDescription
headline string (required)
The title or headline for the ad. This is a short phrase with no line breaks.
minLength: 0
maxLength: 80
body string(markdown) (required)
The main text of the ad. This is Markdown text and may include lists, bold text, italics text, etc.
minLength: 0
maxLength: 400
imageUri string(uri) (required)
The URI of the banner images for this ad.
maxLength: 2000
buttonLabel string
The button text label.
maxLength: 64
linkType string: landingPageLinkType (required)
Where to direct the user when they click on the landing page button.
enum values: externalUri, applicationPage
externalUri string(uri)
If linkType is externalUri, this is the URI to show when a user clicks this landing page's button.
maxLength: 2000
internalPage string
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:

ValueDescription
externalUriExternal URI: When the user clicks on the landing page button, redirect them to a browser displaying an external URL.
applicationPageApplication 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:

ValueDescription
beforeBefore: Before (but not on) a given date
onOn: On a given date.
afterAfter: 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

NameDescription
when string: lastLoginRelativeTo (required)
Select a date range on, before, or after date1.
enum values: before, on, after
date1 string(date) (required)
The selected date.

{
  "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.

NameDescription
href string(uri) (required)
The URI or URI template for the resource/operation this link refers to.
type string
The media type for the resource.
templated boolean
If true, the link's href is a URI template.
title string
An optional human-readable localized title for the link.
deprecation string(uri)
If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation.
profile string(uri)
The URI of a profile document, a JSON document which describes the target resource/operation.

{
  "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.

NameDescription
additionalProperties object: link
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.

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

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
_id string
This API's unique ID.
read-only
name string
This API's name.
apiVersion string
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

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The name of this campaign. The name need not be unique.
minLength: 4
maxLength: 32
description string
The description of this campaign, including the purpose/goals.
minLength: 4
maxLength: 500
schedule array: [campaignInterval]
The start/end date-times to run the campaign.
minItems: 1
adRotationPolicy string: campaignAdRotationPolicy
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 integer
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 string
The unique identifier for this campaign resource. This is an immutable opaque string.
read-only
minLength: 16
maxLength: 48
institutionId string
The unique ID of this financial institution.
read-only
minLength: 4
maxLength: 64
state string: campaignState
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 boolean
Indicates that the campaign was archived. This property is only changed through the archiveCampaign operation.
read-only
invalidCustomerIdCount integer
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 string(date-time)
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
createdBy string
The username of the person who created this campaign resource.
read-only
updatedAt string(date-time)
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
updatedBy string
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

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The name of this ad. The name need not be unique.
minLength: 4
maxLength: 32
description string
The description of this ad, its content, and the ad's purpose/goal.
minLength: 4
maxLength: 500
locations object: campaignAdLocations
Where the ad may appear in the application.
content object
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.
» additionalProperties object: campaignAdContent
Language-specific presentation content for an ad.
» en object: campaignAdContent (required)
The (default) English ad content.
_id string
The unique identifier for this ad resource. This is an immutable opaque string.
read-only
maxLength: 48
createdAt string(date-time)
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
createdBy string
The username of the person who created this campaign ad resource.
read-only
updatedAt string(date-time)
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
updatedBy string
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.

Response and request bodies using this upload schema may contain the following links:

RelSummaryMethod
selfFetch a representation of this uploadGET
apiture:uploadUrl If uploading is available, the URL to PUT the file content for uploadingPUT
apiture:content If downloading is available, the URL to GET the file content for direct access or downloadGET

Properties

NameDescription
_links object: 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 common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error object: error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
path number (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 boolean (required)
If true, uploading the file replaces the content of the previous file of the same path if the file already exists.

If false, the service may rename the path to a unique pathname to avoid replacing (overwriting) the existing file. The new upload's path (available in the response) is automatically renamed by adding a comma , as a separator and a unique numeric suffix before the file extension if any. For example, if /campaigns/fall/banner.png already exists, uploading a new document with that same path and replace: false results in the path banner,1.png and uploading yet another file with the same path1 is named banner,2.png, and so on. The modified file path names are URL-safe and do not require URL encoding. The renamedproperty valuetrue` informs the caller that the service renamed the file to avoid overwriting an existing file.

contentType string (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 boolean (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 string (required)
The unique identifier for this upload resource. This is an immutable opaque string.
read-only
state string

The status of the upload request.

  • pending - The upload is pending but has not started
  • started - The upload has started
  • completed - The upload has completed successfully
  • failed - The upload has failed or timed out.

enum values: pending, started, completed, failed
renamed boolean (required)
If true, the service renamed the path to avoid conflicting with an existing file of the same name.
maximumFileSizeBytes integer (required)
The maximum individual file size allowed, in bytes. This is a derived field.
read-only
minimum: 1000000
maximum: 160000000000
expiresAt string(date-time) (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