Listrak app-push-mobile-client-device API

Endpoints to manage app push devices.

OpenAPI Specification

listrak-app-push-mobile-client-device-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: Listrak Cross Channel REST app-push-mobile-client-device API
  description: "# Introduction\n\nWelcome to the Listrak Cross Channel <a href='https://en.wikipedia.org/wiki/Representational_state_transfer'>REST API</a>!\n\nOur API allows developers to integrate with Listrak's application. It enables the seamless automation of a broad set of functionality, ranging from basic tasks to complex processes.\n\nWe aim to provide comprehensive documentation coverage of our API's capabilities. Each resource and method is described in detail with implementation notes, descriptions of parameters, headers, return values, and code samples to aid in development.\n\n# Versioning\n\nThe API version is denoted in the URI. This API's base URI is: v1\n\nThe API version will be incremented if breaking changes are introduced. Breaking changes may include:\n\n- Addition of required headers, parameters, or model fields to a current route\n- Alterations that would result in currently valid requests failing, or performing unexpectedly\n\nChanges that are not considered breaking may include:\n\n- Addition of new model fields\n- Addition of new routes\n- Addition of new response headers\n- Any alteration to a route that is marked as <span class=\"inDev\">In Development</span>\n\n# Feedback\n\nWe are actively seeking feedback in the following areas:\n- Code samples\n- Response examples\n- Resource and field descriptions\n\nPlease provide your feedback to us at restapifeedback@listrak.com.\n\n# Integration Setup\nTo enable API access, **you must create an _Integration_** on the _Integrations_ page. In the Listrak application left menu, go to: Integrations &rarr; Integration Management.\n\nPlease specify integration type `Cross Channel` for your integration.\n\nMake sure to securely store a copy of your _Client ID_ and _Client Secret_. These values will be needed to authenticate with the API. For your security, the _Client Secret_ cannot be retrieved if it is lost.\n\n# Status Codes\n\n| Status Code | Status | Description |\n| --- | --- | --- |\n| 200 | OK | The request succeeded. |\n| 201 | Created | A new resource has been created. |\n| 400 | Bad Request | Your request is malformed or invalid. |\n| 401 | Unauthorized | Authentication is required. |\n| 404 | Not Found | The resource does not exist. |\n| 405 | Method Not Allowed | The route does not support the requested method. |\n| 415 | Unsupported Media Type | Please use a `Content-Type` of `application/json`. |\n| 500 | Internal Server Error | An unexpected error occurred. Our development team has been notified. |\n\n# Parameters\n\n## Route Parameters\n\nResource identifiers are specified in the route. For example, in the route `/Resource/{resourceId}`, `resourceId` is a route parameter. In this example, if you wish to interact with Resource #123, its route would be `/Resource/123`.\n\n## Query Parameters\n\nSome routes support additional query parameters; for example, some resources support query parameters relating to paging. Supported query parameters are described in their respective documentation areas.\n\n## Request Body\n\nRequest bodies are required for most `POST` and `PUT` requests. Please use a `Content-Type` of `application/json` and provide a JSON object in your request body.\n\n# Authentication\nAuthentication is accomplished using OAuth 2.0. After successful authentication, your token should be included with every request using the Bearer scheme; specifically, you should set your Authorization header value to Bearer (Your token value) in each request.\n\nYou may request a token by making a POST request to our token endpoint at https://auth.listrak.com/OAuth2/Token. \n\nThe request should have a Content-Type of x-www-form-urlencoded, and the request body should include a grant_type of client_credentials, your client_id, and your client_secret. Here is an example of a valid request:\n\n**POST /OAuth2/Token**\n\n**Body**\n\nContent-Type: application/x-www-form-urlencoded\n\n| Key | Value |\n| --- | --- |\n| grant_type: | client_credentials |\n| client_id: | (Your client ID) |\n| client_secret: | (Your client secret) |\n\nFor your security and convenience, you may pause and unpause your API access on our Integrations page. All requests will be rejected while your API access is paused, including requests to issue tokens.\n"
  version: v1
  x-logo:
    url: https://api.listrak.com/Email/Resources/Images/Logo.png
    altText: Listrak
    href: https://www.listrak.com
    backgroundColor: '#fafafa'
servers:
- url: https://api.listrak.com/crosschannel/v1
tags:
- name: app-push-mobile-client-device
  description: Endpoints to manage app push devices.
paths:
  /device:
    post:
      tags:
      - app-push-mobile-client-device
      summary: Registers a device to receive push notifications
      operationId: createAppPushDevice
      requestBody:
        description: App push device registration request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Device'
        required: true
      responses:
        '404':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '201':
          description: Returns one Device
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Device'
        '429':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '400':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '500':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '403':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
  /device/{deviceUid}:
    get:
      tags:
      - app-push-mobile-client-device
      summary: Gets device information
      operationId: getAppPushDevice
      parameters:
      - name: deviceUid
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '200':
          description: Returns one Device
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Device'
        '429':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '400':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '500':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '403':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
    put:
      tags:
      - app-push-mobile-client-device
      summary: Updates a device
      operationId: updateAppPushDevice
      parameters:
      - name: deviceUid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        description: App push device request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Device'
        required: true
      responses:
        '404':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '200':
          description: Returns one Device
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Device'
        '429':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '400':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '500':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '403':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
    patch:
      tags:
      - app-push-mobile-client-device
      summary: Patches a device
      operationId: patchAppPushDevice
      parameters:
      - name: deviceUid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        description: App push device patch request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DevicePatch'
        required: true
      responses:
        '404':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '200':
          description: Returns one Device
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Device'
        '429':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '400':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '500':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
        '403':
          description: An error returned by the App Push APIs
          headers:
            X-Frame-Options:
              schema:
                type: string
            Strict-Transport-Security:
              schema:
                type: string
            X-Content-Type-Options:
              schema:
                type: string
            Content-Security-Policy:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MobileClientError'
components:
  schemas:
    MobileClientError:
      type: object
      properties:
        errorMessage:
          type: string
    Device:
      required:
      - devicePlatformType
      - deviceToken
      - subscribed
      type: object
      properties:
        deviceUid:
          type: string
          format: uuid
        deviceToken:
          type: string
          description: Identifying token for a mobile device
        devicePlatformType:
          $ref: '#/components/schemas/DevicePlatformType'
        identifiers:
          $ref: '#/components/schemas/Identifiers'
        subscribed:
          type: boolean
          description: Identifies whether a mobile device is subscribed or unsubscribed
        deviceOS:
          $ref: '#/components/schemas/DeviceOS'
        deviceOSVersion:
          type: string
          description: Identifies the version of the mobile device's OS
        deviceType:
          type: string
          description: Identifies the physical device model
        mobileAppVersion:
          type: string
          description: Identifies the version of the Mobile App
      description: A Mobile App Push Device
    DeviceOS:
      enum:
      - Android
      - iOS
      - Other
      type: string
      description: The operating system used by the device
    Identifiers:
      type: object
      properties:
        email:
          type: string
          description: Identifying email for a device
        phone:
          type: string
          description: Identifying phone number for a device
      description: Identifiers that can associate a device with a contact
    DevicePatch:
      required:
      - deviceUid
      type: object
      properties:
        deviceUid:
          type: string
          format: uuid
        deviceToken:
          type: string
          description: Identifying token for a mobile device
        identifiers:
          $ref: '#/components/schemas/Identifiers'
        subscribed:
          type: boolean
          description: Identifying whether a mobile device is subscribed or unsubscribed
        deviceOS:
          $ref: '#/components/schemas/DeviceOS'
        deviceOSVersion:
          type: string
          description: Identifies the version of the mobile device's OS
        deviceType:
          type: string
          description: Identifies the physical device model
        mobileAppVersion:
          type: string
          description: Identifies the version of the Mobile App
      description: A Patch for a Mobile App Push Device
    DevicePlatformType:
      enum:
      - Firebase
      - APNs
      type: string
      description: The push notification platform used by the device
  securitySchemes:
    Authorizer:
      type: apiKey
      name: Authorization
      in: header
      x-amazon-apigateway-authtype: custom
x-amazon-apigateway-security-policy: TLS_1_0
x-tagGroups:
- name: API Reference
  tags:
  - Events
  - EventConfigurations