MagicBell channel/mobile_push API

The channel/mobile_push API from MagicBell — 6 operation(s) for channel/mobile_push.

OpenAPI Specification

magicbell-channel-mobile-push-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: MagicBell apns channel/mobile_push API
  description: OpenAPI 3.0.3 Specification for MagicBell API.
  contact:
    name: MagicBell
    url: https://magicbell.com
    email: hello@magicbell.com
  version: 2.0.0
servers:
- url: https://api.magicbell.com/v2
  description: MagicBell REST API Base URL
tags:
- name: channel/mobile_push
paths:
  /integrations/apns:
    delete:
      tags:
      - channel/mobile_push
      description: Removes a apns integration configuration from the project. This will disable the integration's functionality within the project.
      operationId: delete_apns_integration
      responses:
        '204':
          description: No Content
      x-meta:
        channel: mobile_push
        displayName: APNs
        name: apns
    get:
      tags:
      - channel/mobile_push
      description: Retrieves the current apns integration configurations for a specific integration type in the project. Returns configuration details and status information.
      operationId: get_apns_integration
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArrayOfAPNSConfigObjects'
    put:
      tags:
      - channel/mobile_push
      description: Creates or updates a apns integration for the project. Only administrators can configure integrations.
      operationId: save_apns_integration
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/APNSConfig'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APNSConfig'
      x-meta:
        channel: mobile_push
        displayName: APNs
        name: apns
  /integrations/apns/{id}:
    delete:
      tags:
      - channel/mobile_push
      description: Removes a specific apns integration instance by ID from the project.
      operationId: delete_apns_integration_by_id
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
      x-meta:
        channel: mobile_push
        displayName: APNs
        name: apns
  /integrations/expo:
    delete:
      tags:
      - channel/mobile_push
      description: Removes a expo integration configuration from the project. This will disable the integration's functionality within the project.
      operationId: delete_expo_integration
      responses:
        '204':
          description: No Content
      x-meta:
        channel: mobile_push
        displayName: Expo
        name: expo
    get:
      tags:
      - channel/mobile_push
      description: Retrieves the current expo integration configurations for a specific integration type in the project. Returns configuration details and status information.
      operationId: get_expo_integration
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArrayOfExpoConfigObjects'
    put:
      tags:
      - channel/mobile_push
      description: Creates or updates a expo integration for the project. Only administrators can configure integrations.
      operationId: save_expo_integration
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExpoConfig'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExpoConfig'
      x-meta:
        channel: mobile_push
        displayName: Expo
        name: expo
  /integrations/expo/{id}:
    delete:
      tags:
      - channel/mobile_push
      description: Removes a specific expo integration instance by ID from the project.
      operationId: delete_expo_integration_by_id
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
      x-meta:
        channel: mobile_push
        displayName: Expo
        name: expo
  /integrations/fcm:
    delete:
      tags:
      - channel/mobile_push
      description: Removes a fcm integration configuration from the project. This will disable the integration's functionality within the project.
      operationId: delete_fcm_integration
      responses:
        '204':
          description: No Content
      x-meta:
        channel: mobile_push
        displayName: FCM
        name: fcm
    get:
      tags:
      - channel/mobile_push
      description: Retrieves the current fcm integration configurations for a specific integration type in the project. Returns configuration details and status information.
      operationId: get_fcm_integration
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArrayOfFCMConfigObjects'
    put:
      tags:
      - channel/mobile_push
      description: Creates or updates a fcm integration for the project. Only administrators can configure integrations.
      operationId: save_fcm_integration
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FCMConfig'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FCMConfig'
      x-meta:
        channel: mobile_push
        displayName: FCM
        name: fcm
  /integrations/fcm/{id}:
    delete:
      tags:
      - channel/mobile_push
      description: Removes a specific fcm integration instance by ID from the project.
      operationId: delete_fcm_integration_by_id
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
      x-meta:
        channel: mobile_push
        displayName: FCM
        name: fcm
components:
  schemas:
    APNSConfig:
      required:
      - app_id
      - certificate
      - key_id
      - team_id
      - badge
      type: object
      properties:
        app_id:
          pattern: ^[a-zA-Z0-9]+(.[a-zA-Z0-9]+)*$
          type: string
          description: The default bundle identifier of the application that is configured with this project. It can be overriden on a per token basis, when registering device tokens.
        badge:
          enum:
          - unread
          - unseen
          type: string
        certificate:
          pattern: ^-+?\s?BEGIN PRIVATE KEY-+\n([A-Za-z0-9+/\r\n]+={0,2})\n-+\s?END PRIVATE KEY+-+\n?$
          type: string
          description: The APNs certificate in P8 format. Generate it at [developer.apple.com](https://developer.apple.com/account/resources/authkeys/add) with the 'Apple Push Notification service (APNs)' option selected.
          x-ui:
            tagName: textarea
        key_id:
          maxLength: 10
          minLength: 10
          type: string
        payload_version:
          enum:
          - '1'
          - '2'
          type: string
          default: '2'
          x-ui:
            type: hidden
        team_id:
          maxLength: 10
          minLength: 10
          type: string
      example:
        app_id: com.example.myapp
        badge: unread
        certificate: '-----BEGIN PRIVATE KEY-----

          MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQgHnr4B2P+by++FGu/th0a44E8chJl5v5Vo4gq0YHw6e6gCgYIKoZIzj0DAQehRANCAARCg1MRibnfyeX5mx6+Rtfzzn7UhJP/oaqL4RzSmDuTsd3BTX33cuQ0gWHe20R2m1bLAkI1wrp+zbWOlAOAD7KX

          -----END PRIVATE KEY-----'
        key_id: ABCD1234EF
        team_id: ABCD1234EF
    ArrayOfAPNSConfigObjects:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/APNSConfigObject'
        links:
          $ref: '#/components/schemas/Links'
      example:
        data:
        - config:
            app_id: com.example.myapp
            badge: unread
            certificate: '-----BEGIN PRIVATE KEY-----

              MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQgHnr4B2P+by++FGu/th0a44E8chJl5v5Vo4gq0YHw6e6gCgYIKoZIzj0DAQehRANCAARCg1MRibnfyeX5mx6+Rtfzzn7UhJP/oaqL4RzSmDuTsd3BTX33cuQ0gWHe20R2m1bLAkI1wrp+zbWOlAOAD7KX

              -----END PRIVATE KEY-----'
            key_id: ABCD1234EF
            team_id: ABCD1234EF
          id: '123'
          name: slack
        links:
          first: https://api.magicbell.com/v1/example
          next: https://api.magicbell.com/v1/example?page[next]=abc
          prev: null
    ArrayOfExpoConfigObjects:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ExpoConfigObject'
        links:
          $ref: '#/components/schemas/Links'
      example:
        data:
        - config:
            access_token: expo_access_token
          id: '123'
          name: slack
        links:
          first: https://api.magicbell.com/v1/example
          next: https://api.magicbell.com/v1/example?page[next]=abc
          prev: null
    ExpoConfig:
      required:
      - access_token
      type: object
      properties:
        access_token:
          minLength: 1
          type: string
      example:
        access_token: expo_access_token
    FCMConfig:
      required:
      - type
      - project_id
      - private_key_id
      - private_key
      - client_email
      - client_id
      - auth_uri
      - token_uri
      - auth_provider_x509_cert_url
      - client_x509_cert_url
      - universe_domain
      type: object
      properties:
        auth_provider_x509_cert_url:
          type: string
        auth_uri:
          type: string
        client_email:
          type: string
        client_id:
          type: string
        client_x509_cert_url:
          type: string
        private_key:
          pattern: ^-+?\s?BEGIN[A-Z ]+-+\n([A-Za-z0-9+/\r\n]+={0,2})\n-+\s?END[A-Z ]+-+\n?$
          type: string
          x-ui:
            tagName: textarea
        private_key_id:
          type: string
        project_id:
          type: string
        token_uri:
          type: string
        type:
          enum:
          - service_account
          type: string
        universe_domain:
          type: string
      example:
        auth_provider_x509_cert_url: https://www.googleapis.com/oauth2/v1/certs
        auth_uri: https://accounts.google.com/o/oauth2/auth
        client_email: firebase-adminsdk-qwhtp@platform-development.iam.gserviceaccount.com
        client_id: '117893100789081023083'
        client_x509_cert_url: https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-qwhtp%40magicbell-development.iam.gserviceaccount.com
        private_key: '-----BEGIN PRIVATE KEY-----

          MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC7/GBHM4AK4/8c

          ZyvJfdzjBzfA48tV9T3N4hBCb4E66jIz+oztH9oSngEfIVO/L1dWjK1OlN0cqJ0f

          QaKq1eycSjmwfTR3HGNjQQyoGQ4BFBdyqT5rRDDZLPI2LoR0dtQXcBtiFpJF2t8e

          iDmpl3d/ipuKMtBRzjYPqzP0qv3YkPmw2v5FqKK9EIaHRtOhd2R28F5FE+kF1dvB

          t7fEeVtKcQJcSwDUQ8HEshlWSx6azGd4jxf9jHRXWumXYfTA6NMA7EUTDJVus3vU

          y9MCv2KwZO/dzlQygY0BM9FHPSzZRIiHUx+DH6gYl2uWJatluHz58lj3r5mo/Ssc

          yP3TrqOnAgMBAAECggEAWAnDe0UCt9b8QGyPBK/V1VspgMQOE+UlOzkenUaEUreg

          qFg0TM8ofaSS6OXeR0DgGdALUCyGeyf6YcuG55QFWlKmvuF8QzY/05mA2G7XcKjc

          rF3Xtju61tLmYnqZnMOT46AkquTgPyfYa3+n5aVimRAsdOYESvOUvPTUgcbc2GGK

          C2h2MUCoRKuhzbGx847XJmINRE+xaht4hDMhzhMBVrgGGyQ3sIdbCxpbiQR6QH2H

          pITrSnd4hlKRPREWS/D4FUKP/ucXdORP9SUi0R64NRZ3GvT1HvpVZ9fOXwIACdAG

          9fpIQbsmIgxhgZ5ZjuGz/nFi2KQ2Y8rEycQmnHd4QQKBgQD4LVFL93E4qwr7Eruj

          FjyxGYYi2PhVxvrpiSD6ziK3HUjAxat6OcoElJx7WEFWHmi7KRgehqcl40A8Coav

          9DGBwnSM2AYKgzOqMqzjK71TFOQsJdGEYThnhiL2FoQeptgskVS7J9MMBPTnyl7D

          YObINwGbg9auVp66rj5W+dymZwKBgQDB6VdpxJpU9hXBW+8nJESduhzpYiHoe1kN

          yka90dQDOe2b/R7bnF1Ggte6Ll1dMs3xLhN1Mm2XTcX2zmzM15C0E4+1t1LXXzAo

          O2P+riEmCIUc1i0yNMVgEKXiOBBYgKauE3fT88c4dw2JAT0QlifJ0h8kRPNhUaq9

          espjleNQwQKBgHUzwZ7knn2qmSb1M9PTHppseWJfoPexXrGHZyHK064ykDcpos+4

          FuWO4U+G4GQxPDiXMaLI6IsGBUHVnsHdyruC/9O7+S5hw7Zu9CLcdy6TQSZwPcAM

          wbxyJnSdMYvgM1roz2ELb6nPdXE5qwMN8i8/euzcmDgBBDkZLKuamE+lAoGBAKb7

          vd7DAvPvBkUAWi2mub/pqUQA0ZpVvhZ1/f0wWBZ/J/KQQqZzPI+f1Q3rJ1M+kMIE

          H5Vo257TxooGsQKlD2NDBRpCx//XZK0Al9eVM86Av8BZX4pAj0dujqsEBG9yOhbl

          hObsor4pJ2q3ulIyPAk7/L1K8xr3LMUGnIqtZJcBAoGAEQffqGbnaOG8Ue3++bLP

          N6XlAyt5UajAd1CycIHgDvbW0CkWoI70Bg7QNqMYJe6DareH4vRpdB3tw6zNP7qN

          0Bd04L8+zUYN+VqNJ70d7Xn+k2rY7STlgU3vwOzHFwu4wK2A7e+aAZ8AjC+Sr0ZM

          ps+wuWO8MN5yQTBZvAEIfQs=

          -----END PRIVATE KEY-----

          '
        private_key_id: 1935e74178f6ef0bbc23fb3538255f8281093bf2
        project_id: platform-development
        token_uri: https://oauth2.googleapis.com/token
        type: service_account
        universe_domain: googleapis.com
    FCMConfigObject:
      required:
      - name
      - id
      - config
      type: object
      properties:
        config:
          $ref: '#/components/schemas/FCMConfig'
        id:
          type: string
        name:
          type: string
    ExpoConfigObject:
      required:
      - name
      - id
      - config
      type: object
      properties:
        config:
          $ref: '#/components/schemas/ExpoConfig'
        id:
          type: string
        name:
          type: string
    APNSConfigObject:
      required:
      - name
      - id
      - config
      type: object
      properties:
        config:
          $ref: '#/components/schemas/APNSConfig'
        id:
          type: string
        name:
          type: string
    Links:
      type: object
      properties:
        first:
          type: string
        next:
          type: string
          nullable: true
        prev:
          type: string
          nullable: true
    ArrayOfFCMConfigObjects:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/FCMConfigObject'
        links:
          $ref: '#/components/schemas/Links'
      example:
        data:
        - config:
            auth_provider_x509_cert_url: https://www.googleapis.com/oauth2/v1/certs
            auth_uri: https://accounts.google.com/o/oauth2/auth
            client_email: firebase-adminsdk-qwhtp@platform-development.iam.gserviceaccount.com
            client_id: '117893100789081023083'
            client_x509_cert_url: https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-qwhtp%40magicbell-development.iam.gserviceaccount.com
            private_key: '-----BEGIN PRIVATE KEY-----

              MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC7/GBHM4AK4/8c

              ZyvJfdzjBzfA48tV9T3N4hBCb4E66jIz+oztH9oSngEfIVO/L1dWjK1OlN0cqJ0f

              QaKq1eycSjmwfTR3HGNjQQyoGQ4BFBdyqT5rRDDZLPI2LoR0dtQXcBtiFpJF2t8e

              iDmpl3d/ipuKMtBRzjYPqzP0qv3YkPmw2v5FqKK9EIaHRtOhd2R28F5FE+kF1dvB

              t7fEeVtKcQJcSwDUQ8HEshlWSx6azGd4jxf9jHRXWumXYfTA6NMA7EUTDJVus3vU

              y9MCv2KwZO/dzlQygY0BM9FHPSzZRIiHUx+DH6gYl2uWJatluHz58lj3r5mo/Ssc

              yP3TrqOnAgMBAAECggEAWAnDe0UCt9b8QGyPBK/V1VspgMQOE+UlOzkenUaEUreg

              qFg0TM8ofaSS6OXeR0DgGdALUCyGeyf6YcuG55QFWlKmvuF8QzY/05mA2G7XcKjc

              rF3Xtju61tLmYnqZnMOT46AkquTgPyfYa3+n5aVimRAsdOYESvOUvPTUgcbc2GGK

              C2h2MUCoRKuhzbGx847XJmINRE+xaht4hDMhzhMBVrgGGyQ3sIdbCxpbiQR6QH2H

              pITrSnd4hlKRPREWS/D4FUKP/ucXdORP9SUi0R64NRZ3GvT1HvpVZ9fOXwIACdAG

              9fpIQbsmIgxhgZ5ZjuGz/nFi2KQ2Y8rEycQmnHd4QQKBgQD4LVFL93E4qwr7Eruj

              FjyxGYYi2PhVxvrpiSD6ziK3HUjAxat6OcoElJx7WEFWHmi7KRgehqcl40A8Coav

              9DGBwnSM2AYKgzOqMqzjK71TFOQsJdGEYThnhiL2FoQeptgskVS7J9MMBPTnyl7D

              YObINwGbg9auVp66rj5W+dymZwKBgQDB6VdpxJpU9hXBW+8nJESduhzpYiHoe1kN

              yka90dQDOe2b/R7bnF1Ggte6Ll1dMs3xLhN1Mm2XTcX2zmzM15C0E4+1t1LXXzAo

              O2P+riEmCIUc1i0yNMVgEKXiOBBYgKauE3fT88c4dw2JAT0QlifJ0h8kRPNhUaq9

              espjleNQwQKBgHUzwZ7knn2qmSb1M9PTHppseWJfoPexXrGHZyHK064ykDcpos+4

              FuWO4U+G4GQxPDiXMaLI6IsGBUHVnsHdyruC/9O7+S5hw7Zu9CLcdy6TQSZwPcAM

              wbxyJnSdMYvgM1roz2ELb6nPdXE5qwMN8i8/euzcmDgBBDkZLKuamE+lAoGBAKb7

              vd7DAvPvBkUAWi2mub/pqUQA0ZpVvhZ1/f0wWBZ/J/KQQqZzPI+f1Q3rJ1M+kMIE

              H5Vo257TxooGsQKlD2NDBRpCx//XZK0Al9eVM86Av8BZX4pAj0dujqsEBG9yOhbl

              hObsor4pJ2q3ulIyPAk7/L1K8xr3LMUGnIqtZJcBAoGAEQffqGbnaOG8Ue3++bLP

              N6XlAyt5UajAd1CycIHgDvbW0CkWoI70Bg7QNqMYJe6DareH4vRpdB3tw6zNP7qN

              0Bd04L8+zUYN+VqNJ70d7Xn+k2rY7STlgU3vwOzHFwu4wK2A7e+aAZ8AjC+Sr0ZM

              ps+wuWO8MN5yQTBZvAEIfQs=

              -----END PRIVATE KEY-----

              '
            private_key_id: 1935e74178f6ef0bbc23fb3538255f8281093bf2
            project_id: platform-development
            token_uri: https://oauth2.googleapis.com/token
            type: service_account
            universe_domain: googleapis.com
          id: '123'
          name: slack
        links:
          first: https://api.magicbell.com/v1/example
          next: https://api.magicbell.com/v1/example?page[next]=abc
          prev: null