openapi: 3.2.0
info:
title: Vibes Platform Subscription List API
version: 1.0.0
servers:
- url: https://public-api.vibescm.com
description: North America
- url: https://public-api.eu.vibes.com/
description: EMEA
security:
- basicAuth: []
tags:
- name: Subscription List API
paths:
/companies/{company_key}/mobiledb/subscription_lists/{subscription_list_id}/subscribers:
get:
tags:
- Subscription List API
summary: Search for subscriber
parameters:
- name: X-API-Version
in: header
schema:
type: string
default: 1
- name: company_key
in: path
schema:
type: string
required: true
- name: subscription_list_id
in: path
schema:
type: string
required: true
- name: mdn
in: query
description: Mobile Directory Number. The dialable phone number associated with the phone.
Required if searching by mdn.
schema:
type: string
- name: person_key
in: query
description: A unique Vibes-asigned alphanumeric identifier for each person record.
Required if searching by `person_key`.
schema:
type: string
- name: external_person_id
in: query
description: A unique person identifier assigned by the brand, which can be used to link non-Vibes-assigned identifiers to Vibes person records.
Required if searching by `external_person_id`.
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/personResponse'
'404':
description: The subscriber cannot be located or they are not subscribed to the specified list.
/companies/{company_key}/mobiledb/subscription_lists/:
get:
tags:
- Subscription List API
summary: Get subscription lists
parameters:
- name: X-API-Version
in: header
schema:
type: string
default: 1
- name: company_key
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/subscriptionListsResponse'
/companies/{company_key}/mobiledb/subscription_lists/{subscription_list_id}:
get:
tags:
- Subscription List API
summary: Get subscription list info
parameters:
- name: X-API-Version
in: header
schema:
type: string
default: 1
- name: company_key
in: path
schema:
type: string
required: true
- name: subscription_list_id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/subscriptionListResponse'
'404':
description: The `subscription_list_id` cannot be found.
/companies/{company_key}/mobiledb/subscription_lists/{subscription_list_id}/acquisition_campaigns/:
get:
tags:
- Subscription List API
summary: Get acquisition campaigns for subscription list
parameters:
- name: X-API-Version
in: header
schema:
type: string
default: 1
- name: company_key
in: path
schema:
type: string
required: true
- name: subscription_list_id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/acquisitionsResponse'
'404':
description: The `subscription_list_id` cannot be found.
components:
schemas:
subscriptionListResponse:
type: object
properties:
id:
type: string
description: Identifier for this particular subscription list.
name:
type: string
description: The display name for the subscription list.
url:
type: string
description: The REST API URL to the subscription list entity.
subscribers_url:
type: string
description: The REST API URL to the subscribers end point.
acquisition_campaigns_url:
type: string
description: The REST API URL to the acquisition campaigns list endpoint.
acquisitionsResponse:
type: array
items:
$ref: '#/components/schemas/acquisitionResponse'
personResponse:
type: object
properties:
person_key:
type: string
description: A unique Vibes-asigned alphanumeric identifier for each person record.
external_person_id:
type: string
description: A unique person identifier assigned by the brand, which can be used to link non-Vibes-assigned identifiers to Vibes person records. Max 128 characters.
mobile_phone:
type: object
description: Object representation of a person's mobile phone. A person can have only one active mobile phone at a time.
properties:
mdn:
type: string
description: Mobile Directory Number. The dialable phone number associated with the phone.
carrier_code:
type: string
description: The cellular carrier associated with this mobile number.
custom_fields:
type: object
description: list of custom field key/value pairs.
additionalProperties:
type: string
created_at:
type: string
description: The date this person was created, in the ISO-8601 format.
updated_at:
type: string
description: The date this person was last updated, in the ISO-8601 format.
url:
type: string
acquisitionResponse:
type: object
properties:
acquisition_id:
type: string
description: A Vibes-assigned alphanumeric unique identifier for each acquisition campaign.
description:
type: string
description: The name of the acquisition campaign.
campaign_type:
type: object
properties:
code:
type: string
status:
type: string
description: The status of the acquisition campaign. Values are scheduled, active, deleted, or past. Values are always lowercase.
start_date:
type: string
description: The date the campaign is starting, formatted in ISO-8601 format.
end_date:
type: string
description: The date the campaign is ending or has ended, formatted in ISO-8601 format.
created_date:
type: string
description: The date the campaign was created, formated in ISO-8601 format.
updated_date:
type: string
description: The date of the last time the campaign was updated, formated in ISO-8601 format.
acquisition_campaign:
type: object
properties:
keywords:
type: array
description: The keywords that a user can send in via SMS to join the campaign and begin the subscription process.
items:
type: string
url:
type: string
description: Unique resource URL for the acquisition campaign.
subscriptionListsResponse:
type: array
items:
$ref: '#/components/schemas/subscriptionListResponse'
securitySchemes:
basicAuth:
type: http
scheme: basic