> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create deliverable

>  

Creating a deliverable resource for a notification will place that deliverable in a queue to be delivered on a specific channel. As such, each deliverable should have its content tailored for that particular channel (e.g., HTML email). Deliverables are not guaranteed to be delivered. Zero or one deliverable per channel is acceptable. <br /><br />   Providing an unknown channel type will result in a 400 Bad Request response status. <br /><br />   Each channel has its own data dependency requirements. These requirements will not be enforced by the API, but may cause failure to deliver your notification to the user if not met.    <ul><li>Email deliverables require the user having an email address configured and verified by the user.</li><li>Push deliverables require the user having paired one or more mobile devices to receive notifications.</li><li>  SMS deliverables require the user having a phone number configured and verified by the user.</li></ul><br /> In-app deliverables are immediately available to the user the next time they login. Delivery of other deliverable content is scheduled as opposed to real-time.


## OpenAPI

````yaml openapi/nexus/v1.yaml POST /notifications/{notification_guid}/deliverables
openapi: 3.0.0
info:
  contact:
    name: Nexus API
    url: https://www.mx.com
  version: 1.0.0
  title: Nexus API
  description: >-
    Legacy clients can use Nexus API for all their connectivity needs. If you
    are a new client refer to our Platform API. Review our [Nexus API
    Guides](/nexus) for more information.
servers:
  - url: https://int-data.moneydesktop.com/
  - url: https://data.moneydesktop.com/
security:
  - sessionToken: []
tags:
  - name: accounts
  - name: beats
  - name: budgets
  - name: categories
  - name: extended transaction history
  - name: goals
  - name: holdings
  - name: identity
  - name: insights
  - name: institutions
  - name: jobs
  - name: member credentials
  - name: members
  - name: merchants
  - name: microdeposits
  - name: monthly cash flow profile
  - name: notifications
  - name: scheduled payments
  - name: sessions
  - name: spending plan
  - name: taggings
  - name: tags
  - name: transaction rules
  - name: transactions
  - name: user
  - name: verification
paths:
  /notifications/{notification_guid}/deliverables:
    post:
      tags:
        - notifications
      summary: Create deliverable
      description: >-
        Creating a deliverable resource for a notification will place that
        deliverable in a queue to be delivered on a specific channel. As such,
        each deliverable should have its content tailored for that particular
        channel (e.g., HTML email). Deliverables are not guaranteed to be
        delivered. Zero or one deliverable per channel is acceptable.
        <br></br><br></br>   Providing an unknown channel type will result in a
        400 Bad Request response status. <br></br><br></br>   Each channel has
        its own data dependency requirements. These requirements will not be
        enforced by the API, but may cause failure to deliver your notification
        to the user if not met.    <ul><li>Email deliverables require the user
        having an email address configured and verified by the
        user.</li><li>Push deliverables require the user having paired one or
        more mobile devices to receive notifications.</li><li>  SMS deliverables
        require the user having a phone number configured and verified by the
        user.</li></ul><br></br> In-app deliverables are immediately available
        to the user the next time they login. Delivery of other deliverable
        content is scheduled as opposed to real-time.
      operationId: createDeliverable
      parameters:
        - name: notification_guid
          description: The unique identifier for the notification. Defined by MX.
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/vnd.mx.nexus.v1+json:
            schema:
              $ref: '#/components/schemas/DeliverableNotificationRequestBody'
      responses:
        '200':
          description: OK
          content:
            application/vnd.mx.nexus.v1+json:
              schema:
                $ref: '#/components/schemas/DeliverableNotificationResponseBody'
components:
  schemas:
    DeliverableNotificationRequestBody:
      properties:
        deliverable:
          $ref: '#/components/schemas/DeliverableNotificationRequest'
      type: object
    DeliverableNotificationResponseBody:
      properties:
        deliverable_notification:
          $ref: '#/components/schemas/DeliverableNotificationResponse'
      type: object
    DeliverableNotificationRequest:
      properties:
        content:
          description: The full content to be delivered in the given channel.
          example: NTF-b53294f5-2356-4782-9f81-ae064c42b40a
          type: string
        channel:
          description: >-
            The
            [channel](/api-reference/nexus/reference/notifications-fields#deliverable-notification-channels)
            to use when delivering the given content.
          example: 1
          type: integer
      required:
        - content
        - channel
    DeliverableNotificationResponse:
      properties:
        guid:
          example: DNF-7aa13bdb-2866-ba38-b326-d9fb32268f9b
          description: Unique identifier for the notification. Defined by MX.
          type: string
        channel:
          example: 1
          description: The way the notification will be delivered to the user.
          type: integer
        channel_name:
          example: EMAIL
          description: The channel name through which the notification will be delivered.
          type: string
        content:
          example: <html>...</html>
          description: >-
            The full content to be delivered in the given channel. For email,
            should be the fully rendered HTML body.
          type: string
        has_been_delivered:
          description: >-
            If the deliverable has been delivered to the user, this field will
            be true. Otherwise, this field will be false.
          type: boolean
          example: false
        delivered_at:
          example: null
          description: >-
            Date and time the deliverable was delivered, represented in ISO 8601
            format with timestamp .
          type: string
        delivered_on:
          example: null
          description: >-
            Date and time the deliverable was delivered, represented in ISO 8601
            format with timestamp (e.g. 2015-04-13T12:01:23-00:00).
          type: string
  securitySchemes:
    sessionToken:
      description: >
        ### MX Session Token 

        - Request an API token using the read API token endpoint in the MX SSO
        API.

        - Exchange an API token for a session token. 
          - A session token is obtained by sending a POST request to /sessions
          - The session token will be used in each request made for the user. It should be passed in an `MD-SESSION-TOKEN` HTTP header as shown below.
          - This session token is valid for 30 minutes from the time it was created. The 30 minute expiration counter is refreshed with each call.
          - If you send a request with an expired session token you'll receive an error code of `4011`.

        ```

        curl -i https://int-data.moneydesktop.com/accounts \

        -H 'MD-SESSION-TOKEN:
        CWforZl1Vn2vC_v6H4rnQRT1DoWpDouJAV-_5TBmiQRAtA8rsOG_BoajTiOSsL0A3bd-bmHXlA-eQzc9ywItKg'
        \

        -H 'Content-Type: application/vnd.mx.nexus.v1+json' \

        -H 'Accept: application/vnd.mx.nexus.v1+json'

        ```


        In documentation code examples, replace `<API_KEY_VALUE>` with the
        session token.
      type: apiKey
      name: MD-SESSION-TOKEN
      in: header

````