Palo Alto Networks Email Profiles API

The EmailProfiles API from Palo Alto Networks — 2 operation(s) for emailprofiles.

OpenAPI Specification

palo-alto-networks-emailprofiles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact: {}
  description: 'To get email notifications whenever critical issues occur on your network, you can

    configure Cortex Data Lake to send notifications to an email destination.

    '
  title: Email Profiles API
  version: '1.0'
servers:
- url: https://api.sase.paloaltonetworks.com
tags:
- name: EmailProfiles
paths:
  /logging-service/logforwarding/v1/email-profiles:
    get:
      description: 'Retrieve information about all existing e-mail profiles, including their profile IDs.

        '
      operationId: get-logging-service-logforwarding-v1-email-profiles
      parameters:
      - description: The status of the profiles to be returned.
        in: query
        name: status
        schema:
          items:
            $ref: '#/components/schemas/ProfileStatus'
          type: array
      - description: The maximum number of profiles to be returned.
        in: query
        name: resultSize
        schema:
          default: 100
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/EmailProfileDetail'
                type: array
          description: Request successfully processed
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Invalid input
        '429':
          content: {}
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: LogForwarding Service internal error
        '503':
          content: {}
          description: LogForwarding Service is not available
      security:
      - Bearer: []
      summary: Get all email profiles
      tags:
      - EmailProfiles
    post:
      description: 'Create an email profile object to send logs to an email address.

        '
      operationId: post-logging-service-logforwarding-v1-email-profiles
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/EmailProfile'
        description: null
        required: true
      responses:
        '201':
          content:
            '*/*':
              schema:
                example: bd69764a-af85-4a66-8fb0-7df1a4317c65
                type: string
          description: Returns profile id on successful request processing
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Invalid input / failed connectivity check
        '429':
          content: {}
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: LogForwarding Service internal error
        '503':
          content: {}
          description: LogForwarding Service is not available
      security:
      - Bearer: []
      summary: Create an email profile
      tags:
      - EmailProfiles
  /logging-service/logforwarding/v1/email-profiles/{profileId}:
    delete:
      description: 'Delete the email profile with the specified profile ID.

        '
      operationId: delete-logging-service-logforwarding-v1-email-profiles-profileid
      parameters:
      - description: 'The ID of the profile you want to delete.

          '
        in: path
        name: profileId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Request successfully processed
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Profile does not exist
        '429':
          content: {}
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: LogForwarding Service internal error
        '503':
          content: {}
          description: LogForwarding Service is not available
      security:
      - Bearer: []
      summary: Delete email profile
      tags:
      - EmailProfiles
    get:
      description: Retrieve the email profile that has the specified profile ID. The response header contains the etag that you need to update the email profile.
      operationId: get-logging-service-logforwarding-v1-email-profiles-profileid
      parameters:
      - description: 'The ID of the profile you want to retrieve.

          '
        in: path
        name: profileId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailProfileDetail'
          description: Request successfully processed
          headers:
            etag:
              description: Tag for controlling concurrent updates
              schema:
                example: ddd24f872b8d42f10afdcedc44ae334e
                type: string
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Profile does not exist
        '429':
          content: {}
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: LogForwarding Service internal error
        '503':
          content: {}
          description: LogForwarding Service is not available
      security:
      - Bearer: []
      summary: Get email profile
      tags:
      - EmailProfiles
    put:
      description: 'Update an email profile using the etag obtained from retrieving the email profile by

        its profile ID. You can change only the destination and logtype fields. You can not

        change the profileType.

        '
      operationId: put-logging-service-logforwarding-v1-email-profiles-profileid
      parameters:
      - description: 'The ID of the profile you want to update.

          '
        in: path
        name: profileId
        required: true
        schema:
          type: string
      - description: 'Tag required to update the profile.

          '
        in: header
        name: etag
        schema:
          example: ddd24f872b8d42f10afdcedc44ae334e
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailProfile'
        description: New profile value
        required: true
      responses:
        '200':
          description: Request successfully processed
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Invalid input
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Profile does not exists
        '429':
          content: {}
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: LogForwarding Service internal error
        '503':
          content: {}
          description: LogForwarding Service is not available
      security:
      - Bearer: []
      summary: Update email profile
      tags:
      - EmailProfiles
components:
  schemas:
    ApiError:
      properties:
        errorCode:
          description: Server error code
          type: integer
        errorMessage:
          description: A message describing the error code
          type: string
      required:
      - errorMessage
      type: object
    LogTypes:
      description: Profile logtype object
      properties:
        allColumns:
          description: '`True` sends all log fields. `False` sends a subset of log fields.

            '
          example: false
          type: boolean
        excludedColumns:
          description: 'The specific log fields you do not want to send. Does nothing if the same field is present in `includedColumns`.

            '
          items:
            type: string
          type: array
        filter:
          description: 'The [filter query](https://docs.paloaltonetworks.com/cortex/cortex-data-lake/cortex-data-lake-getting-started/retrieve-log-records/about-queries) used to send a subset of logs.

            '
          example: log_time = '2022-09-04T01:00:01.000Z' AND vsys != ''
          type: string
        includedColumns:
          description: 'The specific log fields you want to send. Does nothing if `allColumns` is `True`.

            '
          example:
          - log_time
          - vsys
          items:
            type: string
          type: array
        logtype:
          description: 'The [log type](/cdl/logforwarding/docs/syslog_lf) that you want to send.

            '
          example: firewall.traffic
          type: string
      type: object
    EmailProfileDetail:
      properties:
        destination:
          $ref: '#/components/schemas/EmailDestination'
        logtypes:
          items:
            $ref: '#/components/schemas/LogTypes'
          type: array
        profileId:
          description: 'ID of the profile.

            '
          example: bd69764a-af85-4a66-8fb0-7df1a4317c65
          type: string
        status:
          $ref: '#/components/schemas/ProfileStatus'
      required:
      - profileId
      - destination
      - logtypes
      - status
      type: object
    EmailProfile:
      properties:
        destination:
          $ref: '#/components/schemas/EmailDestination'
        logtypes:
          description: "The parameters used to specify the logs that you want to send. \n"
          items:
            $ref: '#/components/schemas/LogTypes'
          type: array
      required:
      - destination
      - logtypes
      type: object
    ProfileStatus:
      description: Profile status
      enum:
      - pending
      - inactive
      - active
      type: string
    EmailDestination:
      description: 'Profile name and email recipient information.

        '
      properties:
        bcc:
          description: 'Additional addresses to receive the emails. Max of 10.

            '
          example:
          - jbendonis@techniumnetworking.com
          - khanm@wavelifesci.com
          items:
            type: string
          type: array
        displayName:
          description: 'Name of the profile.

            '
          example: PA-Disable-Client
          type: string
        subject:
          description: 'Subject to appear in the emails.

            '
          example: Global Protect Disable - Notification
          type: string
        to:
          description: 'Email address of the recipient.

            '
          example: paloaltoreporting@wavelifesci.com
          type: string
      required:
      - displayName
      - subject
      - to
      type: object
  securitySchemes:
    Bearer:
      scheme: bearer
      type: http