Insider One Mobile Settings API

InApp campaign detail retrieval (90-day window, YYYY-MM-DD dates) and FCM certificate upload for the mobile app channel.

OpenAPI Specification

insider-mobile-settings-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Insider One Mobile Settings API
  version: 1.0.0
  description: 'InApp campaign detail retrieval and FCM certificate upload for the mobile app channel.


    Derived by API Evangelist from Insider One''s own public Postman collection ("Insider One APIs", published at
    https://developers.insiderone.com/). Paths, methods, headers, query parameters and request/response examples
    are verbatim from that collection; nothing is invented. The 429 response is documented for all Insider One APIs
    on https://academy.insiderone.com/docs/api-rate-limits-1 .'
  contact:
    name: Insider One Support
    email: support@useinsider.com
    url: https://academy.insiderone.com/docs/insider-one-apis-1
  termsOfService: https://insiderone.com/terms-of-use/
externalDocs:
  description: Insider One API reference
  url: https://academy.insiderone.com/docs/api-reference-welcome
servers:
- url: https://mobile.api.useinsider.com
tags:
- name: Mobile App APIs
paths:
  /v1/details/inapp:
    post:
      operationId: getInappCampaignDetails
      summary: Get inapp campaign details
      tags:
      - Mobile App APIs
      description: "This API allows you to retrieve detailed information about your app template campaigns. The\
        \ campaigns in the App Templates, App Survey, App Template from Push, and Architect journeys can return\
        \ in the response if available.\n\nYou can either:\n\nSearch for a specific campaign using its ID or\n\n\
        Filter campaigns created within a specific date range.\n\nBody Parameters\nBefore sending the request, make\
        \ sure to replace the values in your request body.\n\nParameter\nDescription\nData Type\n\ninapp_id\nThe\
        \ ID of the app template\nInteger\n\ncreated_between\nThe dates between which the campaigns are created\n\
        Object\n\nfrom\nThe start date of the date range\nString\n\nto\nThe end date of the date range\nString\n\
        \nSample Body\nBefore sending the request, make sure to replace the values in your request body. Below is\
        \ an example for the created_between parameter.\n\n{\n  \"created_between\": {\n    \"from\": \"2025-01-16\"\
        ,\n    \"to\": \"2025-04-15\"\n  }\n}\n\nBelow is an example for the inapp_id parameter.\n\n{\n  \"inapp_id\"\
        : 1434\n}\n\nSample Responses\nThe following are some example responses you might receive for your request.\n\
        \n200 OK\nThe following is a sample response for the created_between parameter.\n\n{\n  \"data\": [\n  \
        \  {\n      \"inapp_id\": 2,\n      \"linked_push_id\": 3,\n      \"linked_push_type\": \"conversion\",\n\
        \      \"name\": \"My campaign\",\n      \"created_by\": \"test@useinsider.com\",\n      \"status\": \"\
        passive\",\n      \"is_inapp_from_push\": true,\n      \"is_inapp_from_architect\": false,\n      \"created_at\"\
        : \"2025-01-01T15:08:55Z\",\n      \"start_date\": \"2024-01-01T15:08:56Z\",\n      \"updated_at\": \"2023-01-05T15:08:55Z\"\
        ,\n      \"end_date\": \"2024-01-01T15:08:57Z\",\n      \"variations\": [\n        {\n          \"variation_id\"\
        : 1,\n          \"percentage\": 50,\n          \"variation_name\": \"Variant A\",\n          \"type\": \"\
        wheelOfFortune\"\n        },\n        {\n          \"variation_id\": 2,\n          \"percentage\": 50,\n\
        \          \"variation_name\": \"Control Group\",\n          \"type\": \"wheelOfFortune\"\n        }\n \
        \     ],\n      \"tags\": [\n        \"tagName2\"\n      ]\n    },\n    {\n      \"inapp_id\": 3,\n    \
        \  \"name\": \"Our campaign\",\n      \"created_by\": \"test@useinsider.com\",\n      \"status\": \"draft\"\
        ,\n      \"is_inapp_from_push\": false,\n      \"is_inapp_from_architect\": false,\n      \"created_at\"\
        : \"2025-01-02T15:08:55Z\",\n      \"start_date\": \"2024-01-01T15:08:56Z\",\n      \"updated_at\": \"2023-01-05T15:08:55Z\"\
        ,\n      \"end_date\": \"2024-01-01T15:08:57Z\",\n      \"variations\": [\n        {\n          \"variation_id\"\
        : 3,\n          \"percentage\": 50,\n          \"variation_name\": \"Variant A\",\n          \"type\": \"\
        wheelOfFortune\"\n        },\n        {\n          \"variation_id\": 4,\n          \"percentage\": 50,\n\
        \          \"variation_name\": \"Control Group\",\n          \"type\": \"wheelOfFortune\"\n        }\n \
        \     ],\n      \"tags\": [\n        \"tagName3\"\n      ]\n    },\n    {\n      \"inapp_id\": 4,\n    \
        \  \"journey_id\": 15,\n      \"name\": \"This campaign\",\n      \"created_by\": \"test@useinsider.com\"\
        ,\n      \"status\": \"active\",\n      \"is_inapp_from_push\": false,\n      \"is_inapp_from_architect\"\
        : true,\n      \"created_at\": \"2025-01-03T15:08:55Z\",\n      \"start_date\": \"2024-01-01T15:08:56Z\"\
        ,\n      \"updated_at\": \"2023-01-05T15:08:55Z\",\n      \"variations\": [\n        {\n          \"variation_id\"\
        : 5,\n          \"percentage\": 50,\n          \"variation_name\": \"Variant A\",\n          \"type\": \"\
        wheelOfFortune\"\n        }\n      ]\n    }\n  ]\n}\n\nThe following is a sample response for the inapp_id parameter.\n\
        \n{\n  \"data\": [\n    {\n      \"inapp_id\": 2,\n      \"name\": \"My campaign\",\n      \"linked_push_id\"\
        : 3,\n      \"linked_push_type\": \"conversion\",\n      \"created_at\": \"2024-01-01T15:08:55Z\",\n   \
        \   \"created_by\": \"test@useinsider.com\",\n      \"status\": \"passive\",\n      \"is_inapp_from_push\"\
        : true,\n      \"is_inapp_from_architect\": false,\n      \"start_date\": \"2024-01-01T15:08:56Z\",\n  \
        \    \"end_date\": \"2024-01-01T15:08:57Z\",\n      \"updated_at\": \"2023-01-05T15:08:55Z\",\n      \"\
        variations\": [\n        {\n          \"variation_id\": 1,\n          \"percentage\": 50,\n          \"\
        variation_name\": \"Variant A\",\n          \"type\": \"wheelOfFortune\"\n        },\n        {\n      \
        \    \"variation_id\": 2,\n          \"percentage\": 50,\n          \"variation_name\": \"Control Group\"\
        ,\n          \"type\": \"wheelOfFortune\"\n        }\n      ],\n      \"tags\": [\n        \"tagName2\"\n\
        \      ]\n    }\n  ]\n}\n\n400 Bad Request\nhe following is a sample response for a request where the API\
        \ key is missing.\n\n{\n  \"error\": \"No api key provided\"\n}\n\n400 Bad Request\nThe following is a sample\
        \ response for a request where the payload is invalid.\n\n{\n  \"error\": \"invalid request payload\"\n\
        }\n\n400 Bad Request\nThe following is a sample response for a request where the required parameter is missing.\n\
        \n{\n  \"error\": \"either 'inapp_id' or 'created_between' must be provided\"\n}\n\n400 Bad Request\nThe\
        \ following is a sample response for a request where the payload has both parameters while it requires only\
        \ one.\n\n{\n  \"error\": \"provide either 'inapp_id' or 'created_between', not both\"\n}\n\n400 Bad Request\n\
        The following is a sample response for a request where the date format is incorrect for the from parameter.\n\
        \n{\n  \"error\": \"invalid date format for 'from'; expected format is YYYY-MM-DD\"\n}\n\n400 Bad Request\n\
        The following is a sample response for a request where the date format is incorrect for the to parameter.\n\
        \n{\n  \"error\": \"invalid date format for 'to'; expected format is YYYY-MM-DD\"\n}\n\n400 Bad Request\n\
        The following is a sample response for a request where the to date is not greater than or equal to the from date.\n\
        \n{\n  \"error\": \"'to' date must be after or equal to 'from' date\"\n}\n\n400 Bad Request\nThe following\
        \ is a sample response for a request where the date range exceeds 90 days.\n\n{\n  \"error\": \"date range\
        \ must not exceed 90 days\"\n}\n\n404 Not Found\nThe following is a sample response for a request where\
        \ no inapp is found.\n\n{\n  \"error\": \"inapp not found\"\n}\n\n403 Forbidden\nThe following is a sample\
        \ response for a request where the API key is invalid.\n\n{\n  \"error\": \"Invalid api key\"\n}\n\nLimitations\n\
        \nAll functions must be executed with a simple HTTPS POST request.\n\nnly one of the filters (inapp_id or\
        \ created_between) can be used at a time.\n\nThe date range must be 90 days or less."
      security:
      - ApiKey: []
      requestBody:
        content:
          application/json:
            example:
              created_between:
                from: '2025-01-16'
                to: '2025-04-15'
      responses:
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /v1/settings/certificate/firebase:
    post:
      operationId: uploadFcmCertificate
      summary: Upload FCM certificate
      tags:
      - Mobile App APIs
      description: This API allows you to upload your FCM certificate to Insider without visiting the Inone panel.
        With this API, you can upload or change your certificate.
      security:
      - ApiKey: []
      requestBody:
        content:
          text/plain:
            example: "{\n  \"type\": \"service_account\",\n  \"project_id\": \"certificate-id\",\n  \"private_key_id\"\
              : \"01ab23cd45ef\",\n  \"private_key\": \"-----BEGIN PRIVATE KEY-----\\abcdef123456\\n-----END PRIVATE\
              \ KEY-----\\n\",\n  \"client_email\": \"firebase-admin-abc123@insider-sdk.iam.gserviceaccount.com\"\
              ,\n  \"client_id\": \"1234567890\",\n  \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\"\
              ,\n  \"token_uri\": \"https://oauth2.googleapis.com/token\",\n  \"auth_provider_x509_cert_url\": \"\
              https://www.googleapis.com/oauth2/v1/certs\",\n  \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/firebase-admin-abc123-%insider-sdk.iam.gserviceaccount.com\"\
              ,\n  \"universe_domain\": \"googleapis.com\"\n}"
      responses:
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-API-KEY
      description: Insider One API key for this API.
  responses:
    TooManyRequests:
      description: Too Many Requests. The published per-endpoint rate limit was exceeded; back off and retry, honouring
        Retry-After when present.
      content:
        application/json:
          example:
            message: Too Many Requests
            status: 429
x-provenance:
  generated: '2026-08-13'
  method: derived
  source: postman/insider-one-apis.postman_collection.json
  source_url: https://documenter.gw.postman.com/api/collections/24851117/2sB3dSR9bM
  publisher_page: https://developers.insiderone.com/
  note: Insider One publishes a single public Postman collection covering every REST API. This document is the subset
    of that collection served from mobile.api.useinsider.com.