openapi: 3.0.3
info:
  title: Inxmail Commerce API
  version: 1.0.0
  description: >-
    *Inxmail Commerce API* allows you to trigger transaction event workflows and
    retrieve information about the outcomes of these transactions.


    The OpenAPI 3 specification for *Inxmail Commerce API* is available at the
    following URL:


    + https://help.inxmail-commerce.com/inxmail-commerce-openapi.yaml


    ## Authentication


    ### New Authentication


    *Inxmail Commerce API* supports a new authentication method for API
    credentials created via the *Inxmail Account Management* (e.g. for Platform
    Accounts). These API Credentials can only be used for Spaces created and
    linked with the *Inxmail Platform*. For Authentication without *Inxmail
    Platform* see the section *Old Authentication* below.


    For instructions on how to create new API credentials, please refer to the
    online help:


    + [DE]
    https://help.inxmail.com/de/content/xnew/inxmail_id/api-zugaenge_anlegen.htm


    + [EN]
    https://help.inxmail.com/en/content/xnew/inxmail_id/api-zugaenge_anlegen.htm


    When using API credentials created via the *Inxmail Account Management*,
    requests must be sent to the following base URL, which consists of the space
    name and the API base domain:


    `{platform-space}.api.inxmail.com/api-service/v1/*`


    ```bash

    curl -u 'keyid:secret' -H 'Accept: application/json'
    'https://{platform-space}.api.inxmail.com/api-service/v1/bounces'

    ```


    The API credentials must be authorized for the corresponding space.

    Depending on the type of space, the following access rights are required:


    + Mail Relay: Inxmail REST API for Mail Relay


    + Transactional Mails: Inxmail REST API for Transactional Mails


    + Combined Spaces: Inxmail REST API for Transactional Mails and Mail Relay


    Please note: Examples in this documentation still use the old base URL.


    ### Old Authentication


    **Please Note: [Preemptive
    Authentication](https://hc.apache.org/httpclient-3.x/authentication.html#Preemptive_Authentication)
    is required to use the Inxmail Commerce Administration API.**


    *Inxmail Commerce API* requires REST clients to authenticate themselves with
    an API key using [HTTP Basic
    Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication).

    The key consists of a `keyid` and a `secret`,  which can be supplied to the
    client software as username and password:


    ```bash

    curl -u 'keyid:secret' -H 'Accept: application/json'
    'https://space.api.inxmail-commerce.com/api-service/v1/bounces'

    ```


    ## Media Types


    *Inxmail Commerce API* uses JSON as data format for requests and responses.
    Where applicable, the [HAL](https://stateless.co/hal_specification.html)
    media format is used to form the JSON structure.

    Large responses are paginated, in this case the standard `next` and
    `previous` link relations are used to provide navigation.


    Both `application/json` and `application/hal+json` media type declarations
    are accepted for content negotiation.


    The response uses `application/hal+json` if requested in the `Accept:`
    header, `application/json` otherwise.


    ## Error States


    The common [HTTP Response Status
    Codes](https://github.com/for-GET/know-your-http-well/blob/master/status-codes.md)
    are used.
servers:
  - url: https://{spaceid}.api.inxmail-commerce.com/api-service
paths:
  /:
    get:
      responses:
        '404':
          description: Space with specified ID does not exist
          headers: {}
          content: {}
      summary: All Requests
      operationId: All Requests
      description: >-
        All requests are scoped to a single Inxmail Commerce space. The space ID
        is specified as first part of the domain name.
      tags:
        - General Information
      parameters:
        - name: spaceid
          in: query
          description: ID of the *Inxmail Commerce* space
          required: true
          example: a-space
          schema:
            type: string
  /v1:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content: {}
      summary: Entry Point
      operationId: Entry Point
      description: >-
        ```bash

        curl -u 'keyid:secret' -H 'Accept: application/json'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1'

        ```


        The entry point offers links to the existing resources.
      tags:
        - General Information
      parameters: []
  /v1/events:
    post:
      responses:
        '200':
          description: |-
            Request has been transmitted successfully.
            Returned id is the transaction id for this request.
          headers: {}
          content: {}
        '400':
          description: >-
            The request could not be processed due to invalid or incomplete
            input data.

            This error occurs before the event is accepted for asynchronous
            processing.

            Possible causes include:


            + The specified event type does not exist in the current Inxmail
            Commerce space, or has been deleted or deactivated.


            + The payload does not match the event type definition (missing
            fields, incorrect case, or invalid structure).


            + The recipient email address is missing or invalid according to the
            event configuration.


            + Attachments or embedded images are malformed or not properly
            Base64 encoded.


            + The JSON structure is invalid or violates naming conventions for
            top-level or payload nodes.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  timestamp:
                    type: string
                  status:
                    type: number
                  error:
                    type: string
                  exception:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        codes:
                          type: array
                          items:
                            type: string
                        arguments:
                          type: array
                          items:
                            type: string
                        defaultMessage:
                          type: string
                        objectName:
                          type: string
                        field:
                          type: string
                        rejectedValue:
                          type: string
                        bindingFailure:
                          type: boolean
                        code:
                          type: string
                  message:
                    type: string
                  path:
                    type: string
              example:
                timestamp: '2023-03-01T14:34:36.179+00:00'
                status: 400
                error: Bad Request
                exception: org.springframework.validation.BindException
                errors:
                  - codes:
                      - event.event-must-exist-in-space.event.event
                      - event.event-must-exist-in-space.event
                      - event.event-must-exist-in-space.java.lang.String
                      - event.event-must-exist-in-space
                    arguments:
                      - exampleArgument
                    defaultMessage: ' event type must exist in this space'
                    objectName: event
                    field: event
                    rejectedValue: illegalValue
                    bindingFailure: false
                    code: event.event-must-exist-in-space
                message: 'Validation failed for object=''event''. Error count: 1'
                path: /api-service/v1/events/
        '409':
          description: Repeated submission for same transaction
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  timestamp:
                    type: string
                  status:
                    type: number
                  error:
                    type: string
                  exception:
                    type: string
                  message:
                    type: string
              example:
                timestamp: 2018-06-14T13:05:22.206+0000
                status: 409
                error: Conflict
                exception: com.inxmail.xcom.api.event.RepeatedEventTransaction
                message: >-
                  Repeated transaction for Event: 5b226811433a0a17f1900be7,
                  Transaction ID: 1234, Recipient: customer@email.invalid
        '413':
          description: Attachment(s) exceeds allowed size
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  timestamp:
                    type: string
                  status:
                    type: number
                  error:
                    type: string
                  exception:
                    type: string
                  message:
                    type: string
              example:
                timestamp: '2023-03-01T14:34:36.179+00:00'
                status: 413
                error: Payload Too Large
                exception: com.inxmail.xcom.api.event.AttachmentToBig
                message: File exceeds limit of 6291456.
        '500':
          description: >-
            Technical error while processing the request. The same request may
            succeed at other times.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  timestamp:
                    type: string
                  status:
                    type: number
                  error:
                    type: string
                  exception:
                    type: string
                  message:
                    type: string
                  path:
                    type: string
              example:
                timestamp: '2023-03-01T14:34:36.179+00:00'
                status: 500
                error: Internal Server Error
                exception: java.lang.RuntimeException
                message: 'java.io.IOException: IO ERROR'
                path: /api-service/v1/events/
      summary: Trigger an Event
      operationId: Trigger an Event
      description: >-
        Trigger event based on your data. There is an initial validation on
        reception which checks:


        + the event type exists in the *Inxmail Commerce* space and is active


        + the payload contains a valid email address as value for the key that
        corresponds to the recipient email address in this event type


        + the size of one attachment or embedded image, and the overall size of
        all attachments and embedded images must not exceed 6MB


        If the initial validation is successful, the event will be processed
        asynchronously.


        All toplevel nodes, currently "event", "attachments" and "payload" must
        start with lower case letter.

        The payload nodes must comply with the event description specified in
        Inxmail Commerce. Payload nodes must start with upper case letter and
        can be nested up to three levels.


        ### Attachments ###


        The attachment nodes must contain a filename, content-type and content.
        The content field must be a **BASE64** encoded string.


        ### Embedded images ###


        Embedded images are supplied as values for placeholders of type
        "embedded image", as a node similar to one attachment node. See below
        for an example.

        The embedded image nodes must contain a name, content-type and content.
        The content field must be a **BASE64** encoded string.


        ### Transactional Safety ###


        Some origin systems and network infrastructure might lead to repeated
        submission of exactly the same event. Such repeated submissions can be
        ignored if

        the request contains a unique transaction identifier. If this identifier
        is set, only the first event with the identical triplet of event

        type, recipient email and transaction identifier will be accepted.
        Further events within 72 hours will be rejected with HTTP status 409
        Conflict.

        The transaction identifier is optional and submitted as JSON property
        `transactionId`.


        ```bash

        curl -X POST -u 'keyid:secret' -H 'Content-Type: application/json' -d '{
        "event": "MagentoNewOrder","payload": {"Customer": { "Email":
        "email@invalid.invalid", "Id" :"123" }, "Order": {
        "CustomerEmail":"email@invalid.invalid"}},
        "attachments":[{"filename":"attachment1.pdf",
        "content-type":"application/pdf",
        "content":"YXNkZnNhZGZhc2Rm"},{"filename":"attachment2.pdf",
        "content-type":"application/pdf", "content":"YXNkZnNhZGZhc2Rm"}]}'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/events'

        ```
      tags:
        - Event
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              example1:
                value:
                  event: neworder
                  payload:
                    Customer:
                      Id: customer_xyz
                      Email: customer@email.invalid
                      IsNewCustomer: true
                    Order:
                      Id: 1
                      Date: '2015-01-27T10:25:00.000Z'
                    Items:
                      - Sku: abc234
                        Name: Sunshine Umbrella
                        Price: 19.99
                        Currency: EUR
                      - Sku: abc123
                        Name: Product 2
                        Price: 20.99
                        Currency: EUR
                  attachments:
                    - filename: invoice.pdf
                      content-type: application/pdf
                      content: YXNkZnNhZGZhc2Rm
                    - filename: legal.pdf
                      content-type: application/pdf
                      content: YXNkZnNhZGZhc2Rm
              example2:
                value:
                  event: exampleEmbeddedImages
                  payload:
                    Customer:
                      Email: user@domain.invalid
                    ExampleForSingleEmbeddedImage:
                      QrCode:
                        name: image.jpg
                        content-type: image/jpeg
                        content: Base64 encoded image
                    ExampleForListEmbeddedImage:
                      - ProductImage:
                          name: image.jpg
                          content-type: image/jpeg
                          content: Base64 encoded image
                      - ProductImage:
                          name: image.jpg
                          content-type: image/jpeg
                          content: Base64 encoded image
                      - ProductImage:
                          name: image.jpg
                          content-type: image/jpeg
                          content: Base64 encoded image
              example3:
                value:
                  event: neworder
                  transactionId: '1234'
                  payload:
                    Customer:
                      Id: customer_xyz
                      Email: customer@email.invalid
                      IsNewCustomer: true
                    Order:
                      Id: 1
                      Date: '2015-01-27T10:25:00.000Z'
                    Items:
                      - Sku: abc234
                        Name: Sunshine Umbrella
                        Price: 19.99
                        Currency: EUR
                      - Sku: abc123
                        Name: Product 2
                        Price: 20.99
                        Currency: EUR
  /v1/eventsasmultipart:
    post:
      responses:
        '200':
          description: |-
            Request has been transmitted successfully.
            Returned id is the transaction id for this request.
          headers: {}
          content: {}
        '400':
          description: Invalid or incomplete request body (json eventdata)
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  timestamp:
                    type: string
                  status:
                    type: number
                  error:
                    type: string
                  exception:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        codes:
                          type: array
                          items:
                            type: string
                        arguments:
                          type: array
                          items:
                            type: string
                        defaultMessage:
                          type: string
                        objectName:
                          type: string
                        field:
                          type: string
                        rejectedValue:
                          type: string
                        bindingFailure:
                          type: boolean
                        code:
                          type: string
                  message:
                    type: string
                  path:
                    type: string
              example:
                timestamp: '2023-03-01T14:34:36.179+00:00'
                status: 400
                error: Bad Request
                exception: org.springframework.validation.BindException
                errors:
                  - codes:
                      - event.event-must-exist-in-space.event.event
                      - event.event-must-exist-in-space.event
                      - event.event-must-exist-in-space.java.lang.String
                      - event.event-must-exist-in-space
                    arguments:
                      - exampleArgument
                    defaultMessage: ' event type must exist in this space'
                    objectName: event
                    field: event
                    rejectedValue: illegalValue
                    bindingFailure: false
                    code: event.event-must-exist-in-space
                message: 'Validation failed for object=''event''. Error count: 1'
                path: /api-service/v1/eventsasmultipart/
        '409':
          description: Repeated submission for same transaction
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  timestamp:
                    type: string
                  status:
                    type: number
                  error:
                    type: string
                  exception:
                    type: string
                  message:
                    type: string
              example:
                timestamp: 2018-06-14T13:05:22.206+0000
                status: 409
                error: Conflict
                exception: com.inxmail.xcom.api.event.RepeatedEventTransaction
                message: >-
                  Repeated transaction for Event: 5b226811433a0a17f1900be7,
                  Transaction ID: 1234, Recipient: customer@email.invalid
        '413':
          description: Attachment(s) exceeds allowed size
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  timestamp:
                    type: string
                  status:
                    type: number
                  error:
                    type: string
                  exception:
                    type: string
                  message:
                    type: string
              example:
                timestamp: '2023-03-01T14:34:36.179+00:00'
                status: 413
                error: Payload Too Large
                exception: org.springframework.web.multipart.MultipartException
                message: >-
                  Could not parse multipart servlet request; nested exception is
                  java.lang.IllegalStateException:
                  org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException:
                  the request was rejected because its size (16956517) exceeds
                  the configured maximum (6291456)
        '500':
          description: >-
            Technical error while processing the request. The same request may
            succeed at other times.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  timestamp:
                    type: string
                  status:
                    type: number
                  error:
                    type: string
                  exception:
                    type: string
                  message:
                    type: string
                  path:
                    type: string
              example:
                timestamp: '2023-03-01T14:34:36.179+00:00'
                status: 500
                error: Internal Server Error
                exception: java.lang.RuntimeException
                message: 'java.io.IOException: IO ERROR'
                path: /api-service/v1/eventsasmultipart/
      summary: Trigger Event as Multipart
      operationId: Trigger Event as Multipart
      description: >-
        It is also possible to send your request as a multipart request.


        ```bash

        curl -X POST -u 'keyid:secret' -H 'Content-Type: multipart/mixed' -F
        'event={ "event": "MagentoNewOrder","payload": {"Customer": { "Email":
        "email@invalid.invalid", "Id" :"123" }, "Order": {
        "CustomerEmail":"email@invalid.invalid"}}};type=application/json' -F
        'attachments=@/attachment.pdf;type=application/pdf'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/eventsasmultipart'

        ```
      tags:
        - Event
      parameters: []
  /v1/state/{id}:
    get:
      responses:
        '200':
          description: >-
            The `eventState` contains one element for each sending attempt. The
            `sendState` of each element is one of:


            * `sent` - Email was sent


            * `blocked` - Sending was blocked due to blacklist or blocklist
            entry of the recipients email address


            * `ecg_blocked` - Sending was blocked due to ecg-list entry


            * `failed` - Sending failed. For further information see the online
            help for the [Error
            Log](https://help.inxmail.com/en/content/xcom/fehlerprotokoll.htm)
          headers: {}
          content: {}
        '400':
          description: id in wrong format
          headers: {}
          content: {}
        '404':
          description: transaction with this id does not exist
          headers: {}
          content: {}
      summary: Request Event State
      operationId: Request Event State
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/state/{id}'

        ```


        Request the state of a transaction based on the transaction id. As a
        result you receive the state for each mailing in the workflow for the
        given transaction id. As the execution of a workflow may take time, the
        result of a call can change over time, until the result contains the
        value `true` for the property `endReached`.
      tags:
        - Event
      parameters:
        - name: id
          in: path
          description: >-
            transaction ID for which the state should be returned, the
            transaction ID is returned in the result of a
            [/v1/event](#event-trigger-an-event-post) or
            [/v1/eventsasmultipart](#event-trigger-event-as-multipart-request-post)
            request
          required: true
          example: 55d6c48b3004b15caffc0f15
          schema:
            type: string
  /v1/eventtypes:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      eventtypes:
                        type: array
                        items:
                          type: object
                          properties:
                            eventTypeId:
                              type: string
                            name:
                              type: string
                            customerEmail:
                              type: string
                            customerMapping:
                              type: string
                            _links:
                              type: object
                              properties:
                                self:
                                  type: object
                                  properties:
                                    href:
                                      type: string
                          required:
                            - eventTypeId
                            - name
                            - customerEmail
                            - customerMapping
                            - _links
                  _links:
                    type: object
                    properties:
                      first:
                        type: object
                        properties:
                          href:
                            type: string
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                      last:
                        type: object
                        properties:
                          href:
                            type: string
                  page:
                    type: object
                    properties:
                      size:
                        type: number
                      totalElements:
                        type: number
                      totalPages:
                        type: number
                      number:
                        type: number
              example:
                _embedded:
                  eventtypes:
                    - eventTypeId: 5812e8d130049f950f8e3fb5
                      name: Event1
                      customerEmail: Customer.Email
                      customerMapping: Customer.Id
                      _links:
                        self:
                          href: >-
                            https://spaceid.api.inxmail-commerce.com/api-service/v1/eventtypes/5812e8d130049f950f8e3fb5
                    - eventTypeId: 5812e8d130049f950f8e3fb6
                      name: Event2
                      customerEmail: Customer.Email
                      customerMapping: Customer.Id
                      _links:
                        self:
                          href: >-
                            https://spaceid.api.inxmail-commerce.com/api-service/v1/eventtypes/5812e8d130049f950f8e3fb6
                    - eventTypeId: 5812e8d130049f950f8e3fb7
                      name: Event3
                      customerEmail: Customer.Email
                      customerMapping: Customer.Id
                      _links:
                        self:
                          href: >-
                            https://spaceid.api.inxmail-commerce.com/api-service/v1/eventtypes/5812e8d130049f950f8e3fb7
                _links:
                  first:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/eventtypes?page=0&size=2
                  self:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/eventtypes
                  next:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/eventtypes?page=1&size=2
                  last:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/eventtypes?page=1&size=2
                page:
                  size: 2
                  totalElements: 3
                  totalPages: 2
                  number: 0
      summary: Eventtypes
      operationId: Eventtypes
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/eventtypes'

        ```


        Get information about eventtypes that are available. Returns an entry
        per eventtype.


        The filtering parameters are all optional. If not specified, all
        reactions are returned.


        The pagination parameters `page` and `size` should be used together, and
        apply within filtered results.
      tags:
        - Eventtype
      parameters:
        - name: name
          in: query
          description: >-
            filters by the EventIdentifier used to trigger events for this
            eventtype.
          example: EventIdentifier
          schema:
            type: string
        - name: size
          in: query
          description: number of elements returned in a single response page (max. 500)
          example: '200'
          schema:
            type: number
            default: 200
        - name: page
          in: query
          description: >-
            result page number, if the request returns more results than the
            page size
          example: '0'
          schema:
            type: number
  /v1/eventtypes/{eventTypeId}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  eventTypeId:
                    type: string
                  name:
                    type: string
                  customerEmail:
                    type: string
                  customerMapping:
                    type: string
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                      eventtypes:
                        type: object
                        properties:
                          href:
                            type: string
              example:
                eventTypeId: 5812e8d130049f950f8e3fb5
                name: Event2
                customerEmail: Customer.Email
                customerMapping: Customer.Id
                _links:
                  self:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/eventtypes/5812ee113004f2b47c2b54be
                  eventtypes:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/eventtypes
        '400':
          description: ID has an invalid format
          headers: {}
          content: {}
        '404':
          description: A eventType with this ID does not exist
          headers: {}
          content: {}
      summary: Single Eventtype
      operationId: Single Eventtype
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/eventtypes/5812e8d130049f950f8e3fb5'

        ```


        Get information about a single eventtype.
      tags:
        - Eventtype
      parameters:
        - name: eventTypeId
          in: path
          description: a single eventTypeId
          required: true
          example: 5812e8d130049f950f8e3fb5
          schema:
            type: string
  /v1/sendings:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content: {}
        '400':
          description: >-
            invalid filter parameters, like invalid begin and end dates, invalid
            reaction type
          headers: {}
          content: {}
      summary: Sendings
      operationId: Sendings
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/sendings'

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/sendings?email=recipient1@fullbounce.invalid'

        ```


        Get information about sent transaction emails. Returns an entry per
        single email.


        The filtering parameters are all optional. If not specified, all
        reactions are returned.


        The pagination parameters `page` and `size` should be used together, and
        apply within filtered results.
      tags:
        - Sending
      parameters:
        - name: event
          in: query
          description: filters by the ID of the event type configuration
          example: 5451f3b1e1c2485a5b71ca88
          schema:
            type: string
        - name: eventId
          in: query
          description: >-
            filters by the ID of a single transaction (as returned by
            [/v1/event](#event-trigger-an-event-post) or
            [/v1/eventsasmultipart](#event-trigger-event-as-multipart-request-post))
          example: 5534f2f3fcb24820d52f3413
          schema:
            type: string
        - name: customerId
          in: query
          description: filter by the customer ID that was specified in the event data
          example: customer_xyz
          schema:
            type: string
        - name: email
          in: query
          description: >-
            filters by the recipient email address (case insensitive, specify
            without personal part)
          example: recipient@fullbounce.invalid
          schema:
            type: string
        - name: begin
          in: query
          description: filters sendings starting from this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: end
          in: query
          description: filters sendings until this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: size
          in: query
          description: number of elements returned in a single response page (max. 500)
          example: '200'
          schema:
            type: number
            default: 200
        - name: page
          in: query
          description: >-
            result page number, if the request returns more results than the
            page size
          example: '0'
          schema:
            type: number
  /v1/sendings/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  sendingId:
                    type: string
                  sendDate:
                    type: string
                  email:
                    type: string
                  event:
                    type: string
                  eventId:
                    type: string
                  customerId:
                    type: string
                  mailingId:
                    type: string
                  mailingName:
                    type: string
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                      sendings:
                        type: object
                        properties:
                          href:
                            type: string
              example:
                sendingId: 56273e11d4c62cdd1be684f1
                sendDate: 2015-10-21T07:26:09.147+0000
                email: recipient1@fullbounce.invalid
                event: 5451f3b1e1c2485a5b71ca88
                eventId: 56273dfbd4c6edc9107ec95c
                customerId: customer_xyz
                mailingId: 56273dfbd4c6edc9107ec84d
                mailingName: Order Confirmation
                _links:
                  self:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/sendings/56273e11d4c62cdd1be684f1
                  sendings:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/sendings
        '400':
          description: ID has an invalid format
          headers: {}
          content: {}
        '404':
          description: A sending with this ID does not exist
          headers: {}
          content: {}
      summary: Single Sending
      operationId: Single Sending
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/sendings/56273e11d4c62cdd1be684f1'

        ```


        Get information about a single sent transaction email.
      tags:
        - Sending
      parameters:
        - name: id
          in: path
          description: >-
            a single sending ID (as included in an `eventState` entry in
            [/v1/state/{id}](#event-request-event-state))
          required: true
          example: 56273e12d4c62cdd1be68506
          schema:
            type: string
  /v1/reactions:
    get:
      responses:
        '200':
          description: >-
            With anonymous tracking enabled reactions do not contain `email`,
            `eventId`, `sendDate`, `sendingId` and `customerId`.
          headers: {}
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      _embedded:
                        type: object
                        properties:
                          reactions:
                            type: array
                            items:
                              type: object
                              properties:
                                reactionType:
                                  type: string
                                reactionDate:
                                  type: string
                                reportAlias:
                                  type: string
                                email:
                                  type: string
                                event:
                                  type: string
                                eventId:
                                  type: string
                                mailingId:
                                  type: string
                                sendDate:
                                  type: string
                                sendingId:
                                  type: string
                                customerId:
                                  type: string
                                trackingHash:
                                  type: string
                              required:
                                - reactionType
                                - reactionDate
                                - reportAlias
                                - email
                                - event
                                - eventId
                                - mailingId
                                - sendDate
                                - sendingId
                                - customerId
                                - trackingHash
                      _links:
                        type: object
                        properties:
                          first:
                            type: object
                            properties:
                              href:
                                type: string
                          last:
                            type: object
                            properties:
                              href:
                                type: string
                          next:
                            type: object
                            properties:
                              href:
                                type: string
                          self:
                            type: object
                            properties:
                              href:
                                type: string
                      page:
                        type: object
                        properties:
                          number:
                            type: number
                          size:
                            type: number
                          totalElements:
                            type: number
                          totalPages:
                            type: number
                  - type: object
                    properties:
                      _embedded:
                        type: object
                        properties:
                          reactions:
                            type: array
                            items:
                              type: object
                              properties:
                                reactionType:
                                  type: string
                                reactionDate:
                                  type: string
                                reportAlias:
                                  type: string
                                event:
                                  type: string
                                mailingId:
                                  type: string
                                trackingHash:
                                  type: string
                              required:
                                - reactionType
                                - reactionDate
                                - reportAlias
                                - event
                                - mailingId
                                - trackingHash
                      _links:
                        type: object
                        properties:
                          first:
                            type: object
                            properties:
                              href:
                                type: string
                          last:
                            type: object
                            properties:
                              href:
                                type: string
                          next:
                            type: object
                            properties:
                              href:
                                type: string
                          self:
                            type: object
                            properties:
                              href:
                                type: string
                      page:
                        type: object
                        properties:
                          number:
                            type: number
                          size:
                            type: number
                          totalElements:
                            type: number
                          totalPages:
                            type: number
              examples:
                example1:
                  value:
                    _embedded:
                      reactions:
                        - reactionType: click
                          reactionDate: 2015-10-21T07:26:10.731+0000
                          reportAlias: feature-link
                          email: recipient1@fullbounce.invalid
                          event: 5451f3b1e1c2485a5b71ca88
                          eventId: 56273dfbd4c6edc9107ec95c
                          mailingId: 5614e5e6d4c676adce44f1e8
                          sendDate: 2015-10-21T07:26:09.147+0000
                          sendingId: 56273e11d4c62cdd1be684f1
                          customerId: customer_xyz
                          trackingHash: hU9kL-FT0kCLA960
                        - reactionType: open
                          reactionDate: 2015-10-21T07:26:10.731+0000
                          reportAlias: trackingpixel
                          email: recipient1@fullbounce.invalid
                          event: 5451f3b1e1c2485a5b71ca88
                          eventId: 56273dfbd4c6edc9107ec95c
                          mailingId: 5614e5e6d4c676adce44f1e8
                          sendDate: 2015-10-21T07:26:09.147+0000
                          sendingId: 56273e11d4c62cdd1be684f1
                          customerId: customer_xyz
                          trackingHash: hU9kL-FT0kCLA960
                    _links:
                      first:
                        href: >-
                          https://spaceid.api.inxmail-commerce.com/api-service/v1/reactions?page=0&size=200
                      last:
                        href: >-
                          https://spaceid.api.inxmail-commerce.com/api-service/v1/reactions?page=29&size=200
                      next:
                        href: >-
                          https://spaceid.api.inxmail-commerce.com/api-service/v1/reactions?page=1&size=200
                      self:
                        href: >-
                          https://spaceid.api.inxmail-commerce.com/api-service/v1/reactions
                    page:
                      number: 0
                      size: 200
                      totalElements: 5911
                      totalPages: 30
                example2:
                  value:
                    _embedded:
                      reactions:
                        - reactionType: click
                          reactionDate: 2015-10-21T07:26:10.731+0000
                          reportAlias: feature-link
                          event: 5451f3b1e1c2485a5b71ca88
                          mailingId: 5614e5e6d4c676adce44f1e8
                          trackingHash: hU9kL-FT0kCLA960
                        - reactionType: open
                          reactionDate: 2015-10-21T07:26:10.731+0000
                          reportAlias: trackingpixel
                          event: 5451f3b1e1c2485a5b71ca88
                          mailingId: 5614e5e6d4c676adce44f1e8
                          trackingHash: hU9kL-FT0kCLA960
                    _links:
                      first:
                        href: >-
                          https://spaceid.api.inxmail-commerce.com/api-service/v1/reactions?page=0&size=200
                      last:
                        href: >-
                          https://spaceid.api.inxmail-commerce.com/api-service/v1/reactions?page=29&size=200
                      next:
                        href: >-
                          https://spaceid.api.inxmail-commerce.com/api-service/v1/reactions?page=1&size=200
                      self:
                        href: >-
                          https://spaceid.api.inxmail-commerce.com/api-service/v1/reactions
                    page:
                      number: 0
                      size: 200
                      totalElements: 5911
                      totalPages: 30
        '400':
          description: >-
            invalid filter parameters, like invalid begin and end dates, invalid
            reaction type
          headers: {}
          content: {}
      summary: Recipient Reactions
      operationId: Recipient Reactions
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/reactions'

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/reactions?reactionType=open'

        ```


        Get information about recipient reactions (opened email, clicked link).
        Returns every single reaction as separate entry, i.e. one entry per
        individual click, even for multiple clicks of the same recipient on the
        same link.


        The filtering parameters are all optional. If not specified, all
        reactions are returned.


        Enabling anonymous tracking removes the fields email, eventId,
        sendingId, customerId and sendDate from the response body. This should
        be considered when filtering reactions.


        The pagination parameters `page` and `size` should be used together, and
        apply within filtered results.
      tags:
        - Reaction Data
      parameters:
        - name: reactionType
          in: query
          description: filters by the type of reaction
          example: click
          schema:
            type: string
            enum:
              - open
              - click
        - name: event
          in: query
          description: filters by the ID of the event type configuration
          example: 5451f3b1e1c2485a5b71ca88
          schema:
            type: string
        - name: eventId
          in: query
          description: >-
            filters by the ID of a single transaction (as returned by
            [/v1/events](#event-trigger-an-event-post) or
            [/v1/eventsasmultipart](#event-trigger-event-as-multipart-post))
          example: 5534f2f3fcb24820d52f3413
          schema:
            type: string
        - name: sendingId
          in: query
          description: >-
            filters by the ID of the sending of a mail (as included in an
            `eventState` entry in [/v1/state/{id}](#event-request-event-state))
          example: 56273e12d4c62cdd1be68506
          schema:
            type: string
        - name: mailingId
          in: query
          description: filters by the ID of the mailing
          example: 5614e5e6d4c676adce44f1e8
          schema:
            type: string
        - name: customerId
          in: query
          description: filters by the customer ID that was specified in the event data
          example: customer_xyz
          schema:
            type: string
        - name: email
          in: query
          description: >-
            filters by the recipient email address (case insensitive, specify
            without personal part)
          example: recipient@fullbounce.invalid
          schema:
            type: string
        - name: begin
          in: query
          description: filters reactions starting from this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: end
          in: query
          description: filters reactions until this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: trackingHash
          in: query
          description: filters by the tracking hash
          example: hU9kL-FT0kCLA960
          schema:
            type: string
        - name: size
          in: query
          description: number of elements returned in a single response page (max. 500)
          example: '200'
          schema:
            type: number
            default: 200
        - name: page
          in: query
          description: >-
            result page number, if the request returns more results than the
            page size
          example: '0'
          schema:
            type: number
  /v1/bounces:
    get:
      responses:
        '200':
          description: >-
            `bounceType` is one of:


            * `softbounce` - Softbounce. For further information see
            [Softbounce](https://help.inxmail.com/en/content/xcom/versandinformationen.htm)


            * `hardbounce` - Hardbounce. For further information see
            [Hardbounce](https://help.inxmail.com/en/content/xcom/versandinformationen.htm)
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      bounces:
                        type: array
                        items:
                          type: object
                          properties:
                            bounceType:
                              type: string
                            bounceDate:
                              type: string
                            email:
                              type: string
                            event:
                              type: string
                            eventId:
                              type: string
                            mailingId:
                              type: string
                            sendDate:
                              type: string
                            sendingId:
                              type: string
                            customerId:
                              type: string
                          required:
                            - bounceType
                            - bounceDate
                            - email
                            - event
                            - eventId
                            - mailingId
                            - sendDate
                            - sendingId
                  _links:
                    type: object
                    properties:
                      first:
                        type: object
                        properties:
                          href:
                            type: string
                      last:
                        type: object
                        properties:
                          href:
                            type: string
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                  page:
                    type: object
                    properties:
                      number:
                        type: number
                      size:
                        type: number
                      totalElements:
                        type: number
                      totalPages:
                        type: number
              example:
                _embedded:
                  bounces:
                    - bounceType: hardbounce
                      bounceDate: 2015-10-21T07:26:10.731+0000
                      email: recipient1@fullbounce.invalid
                      event: 5451f3b1e1c2485a5b71ca88
                      eventId: 56273dfbd4c6edc9107ec95c
                      mailingId: 5614e5e6d4c676adce44f1e8
                      sendDate: 2015-10-21T07:26:09.147+0000
                      sendingId: 56273e11d4c62cdd1be684f1
                      customerId: customer_xyz
                    - bounceType: hardbounce
                      bounceDate: 2015-10-21T07:26:10.843+0000
                      email: recipient2@fullbounce.invalid
                      event: 5451f3b1e1c2485a5b71ca88
                      eventId: 56273e08d4c6edc9107ec962
                      mailingId: 5614e5e6d4c676adce44f1e8
                      sendDate: 2015-10-21T07:26:10.370+0000
                      sendingId: 56273e12d4c62cdd1be68506
                _links:
                  first:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/bounces?page=0&size=200
                  last:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/bounces?page=29&size=200
                  next:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/bounces?page=1&size=200
                  self:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/bounces
                page:
                  number: 0
                  size: 200
                  totalElements: 5911
                  totalPages: 30
        '400':
          description: >-
            invalid filter parameters, like invalid begin and end dates, invalid
            bounce type
          headers: {}
          content: {}
      summary: Transaction Bounces
      operationId: Transaction Bounces
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/bounces'

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/bounces?bounceType=hardbounce'

        curl -u 'keyid:secret' --get --data-urlencode
        'begin=2015-10-21T00:00:00.000Z' --data-urlencode
        'end=2015-10-21T23:59:59.999Z'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/bounces'

        ```


        Get information about bounced emails that resulted from transactions.


        The filtering parameters are all optional. If not specified, all bounces
        are returned. Only one of `sendingId`, `customerId`, `email` or
        `eventId` may be used. Other than that, filters can be combined, only
        bounces that match all criteria are returned.


        The pagination parameters `page` and `size` should be used together, and
        apply within filtered results.
      tags:
        - Reaction Data
      parameters:
        - name: bounceType
          in: query
          description: filters by the type of bounce as categorized by Inxmail Commerce
          example: hardbounce
          schema:
            type: string
            enum:
              - hardbounce
              - softbounce
        - name: event
          in: query
          description: filters by the ID of the event type configuration
          example: 5451f3b1e1c2485a5b71ca88
          schema:
            type: string
        - name: eventId
          in: query
          description: >-
            filters by the ID of a single transaction (as returned by
            [/v1/events](#event-trigger-an-event-post) or
            [/v1/eventsasmultipart](#event-trigger-event-as-multipart-post))
          example: 5534f2f3fcb24820d52f3413
          schema:
            type: string
        - name: sendingId
          in: query
          description: >-
            filters by the ID of the sending of a mail (as included in an
            `eventState` entry in [/v1/state/{id}](#event-request-event-state))
          example: 56273e12d4c62cdd1be68506
          schema:
            type: string
        - name: customerId
          in: query
          description: filters by the customer ID that was specified in the event data
          example: customer_xyz
          schema:
            type: string
        - name: email
          in: query
          description: >-
            filters by the recipient email address (case insensitive, specify
            without personal part)
          example: recipient@fullbounce.invalid
          schema:
            type: string
        - name: begin
          in: query
          description: filters bounces starting from this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: end
          in: query
          description: filters bounces until this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: size
          in: query
          description: number of elements returned in a single response page (max. 500)
          example: '200'
          schema:
            type: number
            default: 200
        - name: page
          in: query
          description: >-
            result page number, if the request returns more results than the
            page size
          example: '0'
          schema:
            type: number
  /v1/complaints:
    get:
      responses:
        '200':
          description: >-
            `complaintType` is one of:


            * `feedbackloop` - FeedbackLoop. The recipient has marked the e-mail
            as spam.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      complaints:
                        type: array
                        items:
                          type: object
                          properties:
                            complaintType:
                              type: string
                            complaintDate:
                              type: string
                            email:
                              type: string
                            event:
                              type: string
                            eventId:
                              type: string
                            mailingId:
                              type: string
                            sendDate:
                              type: string
                            sendingId:
                              type: string
                            customerId:
                              type: string
                          required:
                            - complaintType
                            - complaintDate
                            - email
                            - event
                            - eventId
                            - mailingId
                            - sendDate
                            - sendingId
                  _links:
                    type: object
                    properties:
                      first:
                        type: object
                        properties:
                          href:
                            type: string
                      last:
                        type: object
                        properties:
                          href:
                            type: string
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                  page:
                    type: object
                    properties:
                      number:
                        type: number
                      size:
                        type: number
                      totalElements:
                        type: number
                      totalPages:
                        type: number
              example:
                _embedded:
                  complaints:
                    - complaintType: feedbackloop
                      complaintDate: 2015-10-21T07:26:10.731+0000
                      email: recipient1@fbl.invalid
                      event: 5451f3b1e1c2485a5b71ca88
                      eventId: 56273dfbd4c6edc9107ec95c
                      mailingId: 5614e5e6d4c676adce44f1e8
                      sendDate: 2015-10-21T07:26:09.147+0000
                      sendingId: 56273e11d4c62cdd1be684f1
                      customerId: customer_xyz
                    - complaintType: feedbackloop
                      complaintDate: 2015-10-21T07:26:10.843+0000
                      email: recipient2@fbl.invalid
                      event: 5451f3b1e1c2485a5b71ca88
                      eventId: 56273e08d4c6edc9107ec962
                      mailingId: 5614e5e6d4c676adce44f1e8
                      sendDate: 2015-10-21T07:26:10.370+0000
                      sendingId: 56273e12d4c62cdd1be68506
                _links:
                  first:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/complaints?page=0&size=200
                  last:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/complaints?page=29&size=200
                  next:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/complaints?page=1&size=200
                  self:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/complaints
                page:
                  number: 0
                  size: 200
                  totalElements: 5911
                  totalPages: 30
        '400':
          description: invalid filter parameters, like invalid begin and end dates
          headers: {}
          content: {}
      summary: Transaction Complaints
      operationId: Transaction Complaints
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/complaints'

        curl -u 'keyid:secret' --get --data-urlencode
        'begin=2015-10-21T00:00:00.000Z' --data-urlencode
        'end=2015-10-21T23:59:59.999Z'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/complaints'

        ```


        Get information about complaints that resulted from transactions.


        The filtering parameters are all optional. If not specified, all
        complaints are returned. Only one of `sendingId`, `customerId`, `email`
        or `eventId` may be used. Other than that, filters can be combined, only
        complaints that match all criteria are returned.


        The pagination parameters `page` and `size` should be used together, and
        apply within filtered results.
      tags:
        - Reaction Data
      parameters:
        - name: complaintType
          in: query
          description: filters by the type of complaint
          example: feedbackloop
          schema:
            type: string
            enum:
              - feedbackloop
        - name: event
          in: query
          description: filters by the ID of the event type configuration
          example: 5451f3b1e1c2485a5b71ca88
          schema:
            type: string
        - name: eventId
          in: query
          description: >-
            filters by the ID of a single transaction (as returned by
            [/v1/events](#event-trigger-an-event-post) or
            [/v1/eventsasmultipart](#event-trigger-event-as-multipart-post))
          example: 5534f2f3fcb24820d52f3413
          schema:
            type: string
        - name: sendingId
          in: query
          description: >-
            filters by the ID of the sending of a mail (as included in an
            `eventState` entry in [/v1/state/{id}](#event-request-event-state))
          example: 56273e12d4c62cdd1be68506
          schema:
            type: string
        - name: customerId
          in: query
          description: filters by the customer ID that was specified in the event data
          example: customer_xyz
          schema:
            type: string
        - name: email
          in: query
          description: >-
            filters by the recipient email address (case insensitive, specify
            without personal part)
          example: recipient@fbl.invalid
          schema:
            type: string
        - name: begin
          in: query
          description: filters complaints starting from this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: end
          in: query
          description: filters complaints until this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: size
          in: query
          description: number of elements returned in a single response page (max. 500)
          example: '200'
          schema:
            type: number
            default: 200
        - name: page
          in: query
          description: >-
            result page number, if the request returns more results than the
            page size
          example: '0'
          schema:
            type: number
  /v1/blocklist:
    get:
      responses:
        '200':
          description: |-
            Value of `blockType` is:

            * `hardbounce` - Recipient was blocked due to hardbounce threshold
          headers: {}
          content: {}
        '400':
          description: invalid filter parameters, like invalid begin and end dates
          headers: {}
          content: {}
      summary: Blocklist
      operationId: Blocklist
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/blocklist'

        ```


        Get information about email addresses that are blocked because emails
        hardbounced. Returns an entry per email.


        The filtering parameters are all optional. If not specified, all blocked
        email addreses are returned.


        The pagination parameters `page` and `size` should be used together, and
        apply within filtered results.
      tags:
        - Blocklist
      parameters:
        - name: begin
          in: query
          description: >-
            filters blocked addresses starting from this timestamp, in ISO-8601
            format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: end
          in: query
          description: filters blocked addresses until this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: size
          in: query
          description: number of elements returned in a single response page (max. 500)
          example: '200'
          schema:
            type: number
            default: 200
        - name: page
          in: query
          description: >-
            result page number, if the request returns more results than the
            page size
          example: '0'
          schema:
            type: number
  /v1/blocklist/{email}:
    get:
      responses:
        '200':
          description: |-
            Value of `blockType` is:

            * `hardbounce` - Recipient was blocked due to hardbounce threshold
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  email:
                    type: string
                  blockDate:
                    type: string
                  blockType:
                    type: string
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
              example:
                email: blocked@domain.invalid
                blockDate: 2015-10-21T07:26:09.147+0000
                blockType: hardbounce
                _links:
                  self:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/blocklist/blocked@domain.invalid
        '404':
          description: A blocklist entry with this email does not exist
          headers: {}
          content: {}
      summary: Single Blocked Email
      operationId: Single Blocked Email
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/blocklist/blocked@domain.invalid'

        ```


        Get information about a single email address that is blocked because it
        hardbounced.
      tags:
        - Blocklist
      parameters:
        - name: email
          in: path
          description: a single email address
          required: true
          example: blocked@domain.invalid
          schema:
            type: string
    delete:
      responses:
        '200':
          description: OK
          headers: {}
          content: {}
        '404':
          description: A blocklist entry with this email does not exist
          headers: {}
          content: {}
      summary: Remove Blocked Email
      operationId: Remove Blocked Email
      description: >-
        ```bash

        curl -u 'keyid:secret' -X DELETE
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/blocklist/blocked@domain.invalid'

        ```


        Remove a single email address from the blocklist.
      tags:
        - Blocklist
      parameters:
        - name: email
          in: path
          description: a single email address
          required: true
          example: blocked@domain.invalid
          schema:
            type: string
  /v1/blacklist:
    get:
      responses:
        '200':
          description: |-
            Value of `blockType` is:

            * `explicit` - Recipient was blocked due to manual blacklist entry
          headers: {}
          content: {}
        '400':
          description: invalid filter parameters, like invalid begin and end dates
          headers: {}
          content: {}
      summary: Blacklist
      operationId: Blacklist
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/blacklist'

        ```


        Get information about email addresses that are explicitly blacklisted.
        Returns an entry per email.


        The filtering parameters are all optional. If not specified, all blocked
        email addreses are returned.


        The pagination parameters `page` and `size` should be used together, and
        apply within filtered results.
      tags:
        - Blacklist
      parameters:
        - name: begin
          in: query
          description: >-
            filters blocked addresses starting from this timestamp, in ISO-8601
            format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: end
          in: query
          description: filters blocked addresses until this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: size
          in: query
          description: number of elements returned in a single response page (max. 500)
          example: '200'
          schema:
            type: number
            default: 200
        - name: page
          in: query
          description: >-
            result page number, if the request returns more results than the
            page size
          example: '0'
          schema:
            type: number
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  email:
                    type: string
                  blockDate:
                    type: string
                  blockType:
                    type: string
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
              example:
                email: toblock@domain.invalid
                blockDate: 2016-01-21T07:26:09.147+0000
                blockType: explicit
                _links:
                  self:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/blacklist/toblock@domain.invalid
        '400':
          description: Invalid or missing email address.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  timestamp:
                    type: string
                  status:
                    type: number
                  error:
                    type: string
                  exception:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        defaultMessage:
                          type: string
                        objectName:
                          type: string
                        field:
                          type: string
                        rejectedValue:
                          type: string
                        bindingFailure:
                          type: boolean
                        code:
                          type: string
                  message:
                    type: string
                  path:
                    type: string
              example:
                timestamp: 2016-02-01T10:25:57.184+0000
                status: 400
                error: Bad Request
                exception: org.springframework.web.bind.MethodArgumentNotValidException
                errors:
                  - defaultMessage: not a well-formed email address
                    objectName: blocklistRequest
                    field: email
                    rejectedValue: toblock@domain@invalid
                    bindingFailure: false
                    code: Email
                message: >-
                  Validation failed for object='blocklistRequest'. Error count:
                  1
                path: /api-service/v1/blacklist
      summary: Add Email To Blacklist
      operationId: Add Email To Blacklist
      description: >-
        ```bash

        curl -X POST -u 'keyid:secret' -H 'Content-Type: application/json' -d
        '{"email":"toblock@domain.invalid"}'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/blacklist'

        ```


        Adds an email address explicitly to the blacklist. If the email address
        has already been blocked because of hardbounces, the entry is modified
        to an explicit blacklist entry.

        If the address has already been explicitly blocked, the entry is left
        unchanged. The resulting entry is returned.
      tags:
        - Blacklist
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              email: toblock@domain.invalid
  /v1/blacklist/{email}:
    get:
      responses:
        '200':
          description: |-
            Value of `blockType` is:

            * `explicit` - Recipient was blocked due to manual blacklist entry
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  email:
                    type: string
                  blockDate:
                    type: string
                  blockType:
                    type: string
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
              example:
                email: blocked@domain.invalid
                blockDate: 2015-10-21T07:26:09.147+0000
                blockType: explicit
                _links:
                  self:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/blacklist/blocked@domain.invalid
        '404':
          description: A blocklist entry with this email does not exist
          headers: {}
          content: {}
      summary: Single Blacklisted Email
      operationId: Single Blacklisted Email
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/blacklist/blocked@domain.invalid'

        ```


        Get information about a single email address that is blacklisted.
      tags:
        - Blacklist
      parameters:
        - name: email
          in: path
          description: a single email address
          required: true
          example: blocked@domain.invalid
          schema:
            type: string
    delete:
      responses:
        '200':
          description: OK
          headers: {}
          content: {}
        '404':
          description: A blocklist entry with this email does not exist
          headers: {}
          content: {}
      summary: Remove Email from Blacklist
      operationId: Remove Email from Blacklist
      description: >-
        ```bash

        curl -u 'keyid:secret' -X DELETE
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/blacklist/blocked@domain.invalid'

        ```


        Remove a single email address from the blacklist.
      tags:
        - Blacklist
      parameters:
        - name: email
          in: path
          description: a single email address
          required: true
          example: blocked@domain.invalid
          schema:
            type: string
  /v1/sendrawmail:
    post:
      responses:
        '200':
          description: >-
            If the email contains additional `To:`, `Cc:`, `Bcc:` headers and an
            additional email could not be successful submitted. This does not
            guarantee final delivery.
          headers: {}
          content: {}
        '400':
          description: Invalid or incomplete mime message, or invalid Base64 encoding
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  exception:
                    type: string
                  path:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
                  timestamp:
                    type: string
                  status:
                    type: number
              example:
                exception: org.springframework.mail.MailParseException
                path: /api-service/v1/sendrawmail
                error: Bad Request
                message: >-
                  Incomplete MimeMessage; nested exception is
                  jakarta.mail.MessagingException: Incomplete MimeMessage
                timestamp: 2016-10-13T06:03:30.238+0000
                status: 400
        '413':
          description: Attachment(s) exceeds allowed size
          headers: {}
          content: {}
      summary: Send a complete email message
      operationId: Send a complete email message
      description: >-
        Allows submitting an email message as an HTTP call instead of sending it
        by SMTP. The message must be a full message conforming to RFC 5322/2822,

        encoded in **Base64**.

        The recipient(s) must be defined as the message's `To:` header.

        For each additional `To:`, `Cc:`, `Bcc:` header a copy of the mail with
        a new unique relaySendingId will be sent.


        For convenience and ease of use, a client development kit for the Java
        language is available at [Inxmail Commerce API Client for
        Rawmail](https://github.com/inxmailgmbh/commerce-api-client-rawmail).


        ```bash

        curl -X POST -u 'keyid:secret' -H 'Content-Type: application/json' -d
        '{"message":"YXNkZnNhZGZhc2Rm..."}'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/sendrawmail'

        ```
      tags:
        - Send Raw Mail
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              message: YXNkZnNhZGZhc2Rm...
  /v1/relaysendings:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      relaysendings:
                        type: array
                        items:
                          type: object
                          properties:
                            relaySendingId:
                              type: string
                            email:
                              type: string
                            sendDate:
                              type: string
                            correlationId1:
                              type: string
                            correlationId2:
                              type: string
                            correlationId3:
                              type: string
                            _links:
                              type: object
                              properties:
                                self:
                                  type: object
                                  properties:
                                    href:
                                      type: string
                          required:
                            - relaySendingId
                            - email
                            - sendDate
                            - correlationId1
                            - correlationId2
                            - correlationId3
                            - _links
                  _links:
                    type: object
                    properties:
                      first:
                        type: object
                        properties:
                          href:
                            type: string
                      last:
                        type: object
                        properties:
                          href:
                            type: string
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                  page:
                    type: object
                    properties:
                      number:
                        type: number
                      size:
                        type: number
                      totalElements:
                        type: number
                      totalPages:
                        type: number
              example:
                _embedded:
                  relaysendings:
                    - relaySendingId: 56273e11d4c62cdd1be684f1
                      email: recipient1@somewhere.invalid
                      sendDate: 2015-10-21T07:26:09.147+0000
                      correlationId1: shop identifier
                      correlationId2: campaign identifier
                      correlationId3: mailing identifier
                      _links:
                        self:
                          href: >-
                            https://spaceid.api.inxmail-commerce.com/api-service/v1/relaysendings/56273e11d4c62cdd1be684f1
                    - relaySendingId: 56273e11d4c62cdd1be681e3
                      email: recipient2@somewhere.invalid
                      sendDate: 2015-10-21T07:26:13.243+0000
                      correlationId1: shop identifier
                      correlationId2: campaign identifier
                      correlationId3: mailing identifier
                      _links:
                        self:
                          href: >-
                            https://spaceid.api.inxmail-commerce.com/api-service/v1/relaysendings/56273e11d4c62cdd1be681e3
                _links:
                  first:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relaysendings?page=0&size=20
                  last:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relaysendings?page=1&size=20
                  next:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relaysendings?page=1&size=20
                  self:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relaysendings
                page:
                  number: 0
                  size: 200
                  totalElements: 5911
                  totalPages: 30
        '400':
          description: invalid filter parameters, like invalid begin and end dates
          headers: {}
          content: {}
      summary: Mail Relay Sendings
      operationId: Mail Relay Sendings
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/relaysendings'

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/relaysendings?email=recipient1@fullbounce.invalid'

        ```


        Get information about emails that are sent by the mail relay service.
        Returns an entry per single email.
      tags:
        - Mail Relay
      parameters:
        - name: email
          in: query
          description: >-
            filter by the recipient email address (case insensitive, specify
            without personal part)
          example: recipient@somewhere.invalid
          schema:
            type: string
        - name: correlationId1
          in: query
          description: filters sendings with correlationId1 matching given search string
          example: my-shop-identifier
          schema:
            type: string
        - name: correlationId2
          in: query
          description: filters sendings with correlationId2 matching given search string
          example: my-campaign-identifier
          schema:
            type: string
        - name: correlationId3
          in: query
          description: filters sendings with correlationId3 matching given search string
          example: my-mailing-identifier
          schema:
            type: string
        - name: begin
          in: query
          description: filters sendings starting from this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: end
          in: query
          description: filters sendings until this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: size
          in: query
          description: number of elements returned in a single response page (max. 500)
          example: '200'
          schema:
            type: number
            default: 200
        - name: page
          in: query
          description: >-
            result page number, if the request returns more results than the
            page size
          example: '0'
          schema:
            type: number
  /v1/relaysendings/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  relaySendingId:
                    type: string
                  email:
                    type: string
                  sendDate:
                    type: string
                  correlationId1:
                    type: string
                  correlationId2:
                    type: string
                  correlationId3:
                    type: string
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
              example:
                relaySendingId: 56273e11d4c62cdd1be684f1
                email: recipient1@somewhere.invalid
                sendDate: 2015-10-21T07:26:09.147+0000
                correlationId1: shop identifier
                correlationId2: campaign identifier
                correlationId3: mailing identifier
                _links:
                  self:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relaysendings/56273e11d4c62cdd1be684f1
        '400':
          description: ID has an invalid format
          headers: {}
          content: {}
        '404':
          description: A sending with this ID does not exist
          headers: {}
          content: {}
      summary: Single Mail Relay Sending
      operationId: Single Mail Relay Sending
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/relaysendings/56273e11d4c62cdd1be684f1'

        ```


        Get information about a single sent mail relay email.
      tags:
        - Mail Relay
      parameters:
        - name: id
          in: path
          description: a single relay sending ID
          required: true
          example: 56273e11d4c62cdd1be684f1
          schema:
            type: string
  /v1/relayreactions:
    get:
      responses:
        '200':
          description: |-
            `reactionType` is one of:

            * `open` - Mailing was opened by the recipient

            * `click` - Link was clicked by the recipient
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      relayreactions:
                        type: array
                        items:
                          type: object
                          properties:
                            reactionType:
                              type: string
                            reactionDate:
                              type: string
                            url:
                              type: string
                            email:
                              type: string
                            relaySendingId:
                              type: string
                            sendDate:
                              type: string
                            correlationId1:
                              type: string
                            correlationId2:
                              type: string
                            correlationId3:
                              type: string
                            trackingHash:
                              type: string
                          required:
                            - reactionType
                            - reactionDate
                            - url
                            - email
                            - relaySendingId
                            - sendDate
                            - correlationId1
                            - correlationId2
                            - correlationId3
                            - trackingHash
                  _links:
                    type: object
                    properties:
                      first:
                        type: object
                        properties:
                          href:
                            type: string
                      last:
                        type: object
                        properties:
                          href:
                            type: string
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                  page:
                    type: object
                    properties:
                      number:
                        type: number
                      size:
                        type: number
                      totalElements:
                        type: number
                      totalPages:
                        type: number
              example:
                _embedded:
                  relayreactions:
                    - reactionType: click
                      reactionDate: 2015-10-21T07:26:10.731+0000
                      url: https://link1.example.invalid
                      email: recipient1@somewhere.invalid
                      relaySendingId: 56273e11d4c62cdd1be684f1
                      sendDate: 2015-10-21T07:26:09.147+0000
                      correlationId1: shop identifier
                      correlationId2: campaign identifier
                      correlationId3: mailing identifier
                      trackingHash: hU9kL-FT0kCLA960
                    - reactionType: open
                      reactionDate: 2015-10-21T07:26:10.731+0000
                      url: https://www.example.invalid/trackingpixel.png
                      email: recipient1@somewhere.invalid
                      relaySendingId: 56273e11d4c62cdd1be684f1
                      sendDate: 2015-10-21T07:26:09.147+0000
                      correlationId1: shop identifier
                      correlationId2: campaign identifier
                      correlationId3: mailing identifier
                      trackingHash: hU9kL-FT0kCLA960
                _links:
                  first:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relayreactions?page=0&size=20
                  last:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relayreactions?page=1&size=20
                  next:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relayreactions?page=1&size=20
                  self:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relayreactions
                page:
                  number: 0
                  size: 200
                  totalElements: 5911
                  totalPages: 30
        '400':
          description: >-
            invalid filter parameters, like invalid begin and end dates, invalid
            reaction type
          headers: {}
          content: {}
      summary: Mail Relay Reactions
      operationId: Mail Relay Reactions
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/relayreactions'

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/relayreactions?reactionType=open'

        ```


        Get information about recipient reactions (opened email, clicked link)
        from the mail relay service. Returns every single reaction as separate
        entry, i.e. one entry per individual click, even for multiple clicks of
        the same recipient on the same link.


        The filtering parameters are all optional. If not specified, all
        reactions are returned.


        The 3 different correlationIds contain the values defined and sent by
        your system as X-inx-correlationId1, X-inx-correlationId2,
        X-inx-correlationId3 headers in the mail message.


        The pagination parameters `page` and `size` should be used together and
        apply within filtered results.
      tags:
        - Mail Relay
      parameters:
        - name: reactionType
          in: query
          description: filters by the type of reaction
          example: click
          schema:
            type: string
            enum:
              - open
              - click
        - name: email
          in: query
          description: >-
            filter by the recipient email address (case insensitive, specify
            without personal part)
          example: recipient@somewhere.invalid
          schema:
            type: string
        - name: relaySendingId
          in: query
          description: filters by the ID of the relay sending of a mail
          example: 56273e12d4c62cdd1be68506
          schema:
            type: string
        - name: correlationId1
          in: query
          description: filters reactions with correlationId1 matching given search string
          example: my-shop-identifier
          schema:
            type: string
        - name: correlationId2
          in: query
          description: filters reactions with correlationId2 matching given search string
          example: my-campaign-identifier
          schema:
            type: string
        - name: correlationId3
          in: query
          description: filters reactions with correlationId3 matching given search string
          example: my-mailing-identifier
          schema:
            type: string
        - name: trackingHash
          in: query
          description: filters by the tracking hash
          example: hU9kL-FT0kCLA960
          schema:
            type: string
        - name: begin
          in: query
          description: filters reactions starting from this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: end
          in: query
          description: filters reactions until this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: size
          in: query
          description: number of elements returned in a single response page (max. 500)
          example: '200'
          schema:
            type: number
            default: 200
        - name: page
          in: query
          description: >-
            result page number, if the request returns more results than the
            page size
          example: '0'
          schema:
            type: number
  /v1/relaybounces:
    get:
      responses:
        '200':
          description: >-
            `bounceType` is one of:


            * `softbounce` - Softbounce. For further information see
            [Softbounce](https://help.inxmail.com/en/content/xcom/versandinformationen.htm)


            * `hardbounce` - Hardbounce. For further information see
            [Hardbounce](https://help.inxmail.com/en/content/xcom/versandinformationen.htm)
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      relayBounces:
                        type: array
                        items:
                          type: object
                          properties:
                            bounceType:
                              type: string
                            bounceDate:
                              type: string
                            email:
                              type: string
                            relaySendingId:
                              type: string
                            sendDate:
                              type: string
                            correlationId1:
                              type: string
                            correlationId2:
                              type: string
                            correlationId3:
                              type: string
                          required:
                            - bounceType
                            - bounceDate
                            - email
                            - relaySendingId
                            - sendDate
                            - correlationId1
                            - correlationId2
                            - correlationId3
                  _links:
                    type: object
                    properties:
                      first:
                        type: object
                        properties:
                          href:
                            type: string
                      last:
                        type: object
                        properties:
                          href:
                            type: string
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                  page:
                    type: object
                    properties:
                      number:
                        type: number
                      size:
                        type: number
                      totalElements:
                        type: number
                      totalPages:
                        type: number
              example:
                _embedded:
                  relayBounces:
                    - bounceType: hardbounce
                      bounceDate: 2015-09-23T11:02:09.409+0000
                      email: test30@test.invalid
                      relaySendingId: 562a13b1d4c696d88b90a681
                      sendDate: 2015-10-23T11:02:09.409+0000
                      correlationId1: shop identifier
                      correlationId2: campaign identifier
                      correlationId3: mailing identifier
                    - bounceType: hardbounce
                      bounceDate: 2015-09-24T11:02:09.403+0000
                      email: test29@test.invalid
                      relaySendingId: 562a13b1d4c696d88b90a67f
                      sendDate: 2015-10-23T11:02:09.403+0000
                      correlationId1: shop identifier
                      correlationId2: campaign identifier
                      correlationId3: mailing identifier
                _links:
                  first:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relaybounces?page=0&size=20
                  last:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relaybounces?page=1&size=20
                  next:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relaybounces?page=1&size=20
                  self:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relaybounces
                page:
                  number: 0
                  size: 20
                  totalElements: 30
                  totalPages: 2
        '400':
          description: >-
            invalid filter parameters, like invalid begin and end dates, invalid
            bounce type
          headers: {}
          content: {}
      summary: Mail Relay Bounces
      operationId: Mail Relay Bounces
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/relaybounces'

        ```


        Get information about bounced emails from the mail relay service.


        The filtering parameters are all optional. If not specified, all bounces
        are returned. Filters can be combined, only bounces that match all
        criteria are returned.


        The 3 different correlationIds contain the values defined and sent by
        your system as X-inx-correlationId1, X-inx-correlationId2,
        X-inx-correlationId3 headers in the mail message.


        The pagination parameters `page` and `size` should be used together and
        apply within filtered results.
      tags:
        - Mail Relay
      parameters:
        - name: bounceType
          in: query
          description: filters by the type of bounce as categorized by Inxmail Commerce
          example: hardbounce
          schema:
            type: string
            enum:
              - hardbounce
              - softbounce
        - name: correlationId1
          in: query
          description: filters bounces with correlationId1 matching given search string
          example: my-shop-identifier
          schema:
            type: string
        - name: correlationId2
          in: query
          description: filters bounces with correlationId2 matching given search string
          example: my-campaign-identifier
          schema:
            type: string
        - name: correlationId3
          in: query
          description: filters bounces with correlationId3 matching given search string
          example: my-mailing-identifier
          schema:
            type: string
        - name: begin
          in: query
          description: filters bounces starting from this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: end
          in: query
          description: filters bounces until this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: email
          in: query
          description: >-
            filter by the recipient email address (case insensitive, specify
            without personal part)
          example: recipient@somewhere.invalid
          schema:
            type: string
        - name: relaySendingId
          in: query
          description: filters by the ID of the relay sending of a mail
          example: 56273e12d4c62cdd1be68506
          schema:
            type: string
        - name: size
          in: query
          description: >-
            number of bounce elements returned in a single response page (max.
            500)
          example: '200'
          schema:
            type: number
            default: 200
        - name: page
          in: query
          description: >-
            result page number, if the request returns more results than the
            page size
          example: '0'
          schema:
            type: number
  /v1/relaycomplaints:
    get:
      responses:
        '200':
          description: >-
            `complaintType` is one of:


            * `feedbackloop` - Feedbackloop. The recipient has marked the e-mail
            as spam.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      relayComplaints:
                        type: array
                        items:
                          type: object
                          properties:
                            complaintType:
                              type: string
                            complaintDate:
                              type: string
                            email:
                              type: string
                            relaySendingId:
                              type: string
                            sendDate:
                              type: string
                            correlationId1:
                              type: string
                            correlationId2:
                              type: string
                            correlationId3:
                              type: string
                          required:
                            - complaintType
                            - complaintDate
                            - email
                            - relaySendingId
                            - sendDate
                            - correlationId1
                            - correlationId2
                            - correlationId3
                  _links:
                    type: object
                    properties:
                      first:
                        type: object
                        properties:
                          href:
                            type: string
                      last:
                        type: object
                        properties:
                          href:
                            type: string
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                  page:
                    type: object
                    properties:
                      number:
                        type: number
                      size:
                        type: number
                      totalElements:
                        type: number
                      totalPages:
                        type: number
              example:
                _embedded:
                  relayComplaints:
                    - complaintType: feedbackloop
                      complaintDate: 2015-09-23T11:02:09.409+0000
                      email: test30@test.invalid
                      relaySendingId: 562a13b1d4c696d88b90a681
                      sendDate: 2015-10-23T11:02:09.409+0000
                      correlationId1: shop identifier
                      correlationId2: campaign identifier
                      correlationId3: mailing identifier
                    - complaintType: feedbackloop
                      complaintDate: 2015-09-24T11:02:09.403+0000
                      email: test29@test.invalid
                      relaySendingId: 562a13b1d4c696d88b90a67f
                      sendDate: 2015-10-23T11:02:09.403+0000
                      correlationId1: shop identifier
                      correlationId2: campaign identifier
                      correlationId3: mailing identifier
                _links:
                  first:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relaycomplaints?page=0&size=20
                  last:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relaycomplaints?page=1&size=20
                  next:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relaycomplaints?page=1&size=20
                  self:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/relaycomplaints
                page:
                  number: 0
                  size: 20
                  totalElements: 30
                  totalPages: 2
        '400':
          description: >-
            invalid filter parameters, like invalid begin and end dates, invalid
            complaint type
          headers: {}
          content: {}
      summary: Mail Relay Complaints
      operationId: Mail Relay Complaints
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/relaycomplaints'

        ```


        Get information about complaints from the mail relay service.


        The filtering parameters are all optional. If not specified, all
        complaints are returned. Filters can be combined, only complaints that
        match all criteria are returned.


        The 3 different correlationIds contain the values defined and sent by
        your system as X-inx-correlationId1, X-inx-correlationId2,
        X-inx-correlationId3 headers in the mail message.


        The pagination parameters `page` and `size` should be used together and
        apply within filtered results.
      tags:
        - Mail Relay
      parameters:
        - name: complaintType
          in: query
          description: filters by the type of complaint
          example: feedbackloop
          schema:
            type: string
            enum:
              - feedbackloop
        - name: correlationId1
          in: query
          description: filters complaints with correlationId1 matching given search string
          example: my-shop-identifier
          schema:
            type: string
        - name: correlationId2
          in: query
          description: filters complaints with correlationId2 matching given search string
          example: my-campaign-identifier
          schema:
            type: string
        - name: correlationId3
          in: query
          description: filters complaints with correlationId3 matching given search string
          example: my-mailing-identifier
          schema:
            type: string
        - name: begin
          in: query
          description: filters complaints starting from this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: end
          in: query
          description: filters complaints until this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: email
          in: query
          description: >-
            filter by the recipient email address (case insensitive, specify
            without personal part)
          example: recipient@somewhere.invalid
          schema:
            type: string
        - name: relaySendingId
          in: query
          description: filters by the ID of the relay sending of a mail
          example: 56273e12d4c62cdd1be68506
          schema:
            type: string
        - name: size
          in: query
          description: >-
            number of complaint elements returned in a single response page
            (max. 500)
          example: '200'
          schema:
            type: number
            default: 200
        - name: page
          in: query
          description: >-
            result page number, if the request returns more results than the
            page size
          example: '0'
          schema:
            type: number
  /v1/deliveries:
    get:
      responses:
        '200':
          description: >-
            `sendingType` is one of:


            * `event` - Sending relates to a event mail sendout


            * `relay` - Sending relates to a mail relay sendout


            * `event` - Sending relates to a event mail sendout


            `status` is one of:


            * `sent` - Email was delivered to the target host


            * `bounced` - Email was not delivered. Target host permanently
            rejected the delivery attempt


            * `deferred` - Delivery was deferred. Target host temporarily
            refused the delivery attempt


            * `rejected` - Mail server directly rejected the email. Delivery to
            target host was not attempted.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      deliveries:
                        type: array
                        items:
                          type: object
                          properties:
                            deliveryId:
                              type: string
                            sendingId:
                              type: string
                            sendingType:
                              type: string
                            sendouts:
                              type: array
                              items:
                                type: object
                                properties:
                                  deliveryDate:
                                    type: string
                                  email:
                                    type: string
                                  targetHost:
                                    type: string
                                  targetIp:
                                    type: string
                                  dsnMessage:
                                    type: string
                                  dsnCode:
                                    type: string
                                  status:
                                    type: string
                                required:
                                  - deliveryDate
                                  - email
                                  - targetHost
                                  - targetIp
                                  - dsnMessage
                                  - dsnCode
                                  - status
                            sendingtype:
                              type: string
                          required:
                            - deliveryId
                            - sendingId
                            - sendouts
                  _links:
                    type: object
                    properties:
                      first:
                        type: object
                        properties:
                          href:
                            type: string
                      last:
                        type: object
                        properties:
                          href:
                            type: string
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                  page:
                    type: object
                    properties:
                      number:
                        type: number
                      size:
                        type: number
                      totalElements:
                        type: number
                      totalPages:
                        type: number
              example:
                _embedded:
                  deliveries:
                    - deliveryId: mx01-out-3qbBbW4wRhz1Sc
                      sendingId: 546c9f93e1c2abf2ddfc2cc2
                      sendingType: test
                      sendouts:
                        - deliveryDate: 2016-03-31T04:38:32.000+0000
                          email: recipient@company.invalid
                          targetHost: mx01.xcom.dmz.invalid
                          targetIp: 172.23.16.22
                          dsnMessage: '(250 2.0.0 Ok: queued as 3qbBbX1HDjz7rYc)'
                          dsnCode: 2.0.0
                          status: sent
                    - deliveryId: mx01-out-3qbBcD1091z1Sc
                      sendingId: 551a9f13e1c2abf2ddfc2cd1
                      sendingtype: relay
                      sendouts:
                        - deliveryDate: 2016-03-31T04:39:08.000+0000
                          email: test@company.invalid
                          targetHost: mx01.xcom.dmz.invalid
                          targetIp: 172.23.16.22
                          dsnMessage: '(250 2.0.0 Ok: queued as 3qbBcD1zGFz7sC5)'
                          dsnCode: 2.0.0
                          status: sent
                        - deliveryDate: 2016-03-31T04:39:08.000+0000
                          email: archive@archive.invalid
                          targetHost: mx01.archive.invalid
                          targetIp: 192.24.17.23
                          dsnMessage: '(250 2.0.0 Ok: queued as 3q42GD1zGFz7sC5)'
                          dsnCode: 4.0.0
                          status: deferred
                _links:
                  first:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/deliveries?page=0&size=200
                  last:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/deliveries?page=29&size=200
                  next:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/deliveries?page=1&size=200
                  self:
                    href: >-
                      https://spaceid.api.inxmail-commerce.com/api-service/v1/deliveries
                page:
                  number: 0
                  size: 200
                  totalElements: 5911
                  totalPages: 30
        '400':
          description: >-
            invalid filter parameters, like invalid begin and end dates, invalid
            reaction type
          headers: {}
          content: {}
      summary: Deliveries
      operationId: Deliveries
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/deliveries'

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/deliveries?status=sent'

        ```


        The filtering parameters are all optional. If not specified, all
        deliveries are returned.


        The pagination parameters `page` and `size` should be used together, and
        apply within filtered results.
      tags:
        - Delivery
      parameters:
        - name: sendingId
          in: query
          description: filters by the ID of a sending
          example: 5534f2f3fcb24820d52f3413
          schema:
            type: string
        - name: sendingType
          in: query
          description: >-
            filter by the sending type (`event` for `transaction sending`,
            `relay` for `mail relay sendings`, `test` for `test sendings`)
          example: '`event`, `relay` or `test`,'
          schema:
            type: string
        - name: email
          in: query
          description: filters by the recipient email address
          example: recipient@company.invalid
          schema:
            type: string
        - name: status
          in: query
          description: filters by the state
          example: sent
          schema:
            type: string
        - name: begin
          in: query
          description: filters deliveries starting from this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: end
          in: query
          description: filters deliveries until this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: size
          in: query
          description: number of elements returned in a single response page (max. 500)
          example: '200'
          schema:
            type: number
            default: 200
        - name: page
          in: query
          description: >-
            result page number, if the request returns more results than the
            page size
          example: '0'
          schema:
            type: number
  /v1/errorlogs/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  level:
                    type: string
                  error:
                    type: string
                  detail:
                    type: string
                  errorCode:
                    type: string
                  eventTypeId:
                    type: string
                  campaignId:
                    type: string
                  mailingId:
                    nullable: true
                  errorTime:
                    type: string
                  isRead:
                    type: boolean
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
              example:
                id: 63b905da3ab87d67437acc2a
                level: ERROR
                error: Recipient email address must be a valid email address
                detail: >-
                  {Model={CustomerGender=female, CompanyName=null,
                  CustomerFirstName=Margrit,
                  CustomerEmail=Margrit.Hauger@t.-online.deqw,
                  CustomerLastName=Hauger,
                  ActivationLinkUrl=https://accounts.dm.de/activation?customerid=102134625&token=285b64d9-d41c-4e0c-b2a5-76fd6d660974&contactsource=09757,
                  CustomerId=102134625}}
                errorCode: INX_1110
                eventTypeId: UserAccountActivation
                campaignId: 5885cf786c459144a87e52f0
                mailingId: null
                errorTime: 2023-01-07T05:40:42.347+0000
                isRead: false
                _links:
                  self:
                    href: >-
                      http://dm-services.api.localhost:10080/api-service/v1/errorlogs/63b905da3ab87d67437acc2a
        '400':
          description: ID has an invalid format
          headers: {}
          content: {}
        '404':
          description: A errorlog with ID does not exist
          headers: {}
          content: {}
      summary: Single Errorlog
      operationId: Single Errorlog
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/errorlogs/56273e12d4c62cdd1be68506'

        ```


        Get information about a single errorlog.
      tags:
        - Errorlog
      parameters:
        - name: id
          in: path
          description: a single errorlog ID
          required: true
          example: 56273e12d4c62cdd1be68506
          schema:
            type: string
  /v1/errorlogs:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      errorlogs:
                        type: array
                        items:
                          type: object
                          properties:
                            errorLogId:
                              type: string
                            level:
                              type: string
                            error:
                              type: string
                            detail:
                              type: string
                            errorCode:
                              type: string
                            eventTypeId:
                              type: string
                            campaignId:
                              type: string
                            mailingId:
                              nullable: true
                            errorTime:
                              type: string
                            isRead:
                              type: boolean
                            _links:
                              type: object
                              properties:
                                self:
                                  type: object
                                  properties:
                                    href:
                                      type: string
                          required:
                            - errorLogId
                            - level
                            - error
                            - detail
                            - errorCode
                            - eventTypeId
                            - campaignId
                            - mailingId
                            - errorTime
                            - isRead
                            - _links
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                      first:
                        type: object
                        properties:
                          href:
                            type: string
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                      last:
                        type: object
                        properties:
                          href:
                            type: string
                  page:
                    type: object
                    properties:
                      size:
                        type: number
                      totalElements:
                        type: number
                      totalPages:
                        type: number
                      number:
                        type: number
              example:
                _embedded:
                  errorlogs:
                    - errorLogId: 63b905da3ab87d67437acc2a
                      level: ERROR
                      error: Recipient email address must be a valid email address
                      detail: >-
                        {Model={CustomerGender=female, CompanyName=null,
                        CustomerFirstName=Erika,
                        CustomerEmail=erika.musterfrau@invalid.de,
                        CustomerLastName=Musterfrau,
                        ActivationLinkUrl=https://someLink.de,
                        CustomerId=102134621}}
                      errorCode: INX_1110
                      eventTypeId: UserAccountActivation
                      campaignId: 5885cf786c459144a87e52f0
                      mailingId: null
                      errorTime: 2023-01-07T05:40:42.347+0000
                      isRead: false
                      _links:
                        self:
                          href: >-
                            http://spaceid.api.inxmail-commerce.com/api-servicev1/v1/errorlogs/63b905da3ab87d67437acc2a
                    - errorLogId: 63b8f8ba3525b0639e25372a
                      level: ERROR
                      error: Recipient email address must be a valid email address
                      detail: >-
                        {Model={CustomerGender=male, CompanyName=null,
                        CustomerFirstName=Max,
                        CustomerEmail=max.mustermann@invalid.de,
                        CustomerLastName=Mustermann,
                        ActivationLinkUrl=https://someLink.de,
                        CustomerId=102134631}}
                      errorCode: INX_1110
                      eventTypeId: UserAccountActivation
                      campaignId: 5885cf786c459144a87e52f0
                      mailingId: null
                      errorTime: 2023-01-07T04:44:42.178+0000
                      isRead: false
                      _links:
                        self:
                          href: >-
                            http://spaceid.api.inxmail-commerce.com/api-servicev1/v1/errorlogs/63b8f8ba3525b0639e25372a
                _links:
                  self:
                    href: >-
                      http://spaceid.api.inxmail-commerce.com/api-service/v1/errorlogs
                  first:
                    href: >-
                      http://spaceid.api.inxmail-commerce.com/api-servicev1/errorlogs?page=0&size=200
                  next:
                    href: >-
                      http://spaceid.api.inxmail-commerce.com/api-servicev1/errorlogs?page=1&size=200
                  last:
                    href: >-
                      http://spaceid.api.inxmail-commerce.com/api-service/v1/errorlogs?page=3&size=200
                page:
                  size: 200
                  totalElements: 661
                  totalPages: 4
                  number: 0
        '400':
          description: Bad Request
          headers: {}
          content: {}
      summary: Errorlogs
      operationId: Errorlogs
      description: >-
        ```bash

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/errorlogs'

        curl -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/errorlogs?errorLevel=ERROR'

        ```


        Get information about errorlogs that are available.


        The filtering parameters are all optional. If not specified, all
        reactions are returned.


        The pagination parameters `page` and `size` should be used together, and
        apply within filtered results.
      tags:
        - Errorlog
      parameters:
        - name: errorLevel
          in: query
          description: filter by the ErrorLevel.
          example: '''ErrorLevel'''
          schema:
            type: string
            enum:
              - '''ERROR'''
              - '''WARN'''
              - '''INFO'''
        - name: isRead
          in: query
          description: filters according to the read condition.
          schema:
            type: boolean
        - name: ErrorCode
          in: query
          description: >-
            filters according to the error code that describes the type of the
            error.
          schema:
            type: string
        - name: mailingId
          in: query
          description: filters by the mailing id associated with the error.
          schema:
            type: string
        - name: campaignId
          in: query
          description: filters by the campaign id associated with the error.
          schema:
            type: string
        - name: eventTypeId
          in: query
          description: filters by the event type id associated with the error.
          schema:
            type: string
        - name: begin
          in: query
          description: filters errorlogs starting from this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: end
          in: query
          description: filters errorlogs until this timestamp, in ISO-8601 format
          example: '2015-10-21T11:00:33.000Z'
          schema:
            type: string
        - name: page
          in: query
          description: >
            result page number, if the request returns more results than the
            page size
                + Default: 0
          example: '0'
          schema:
            type: number
  /v1/errorlogs/{id}/mark:
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  level:
                    type: string
                  error:
                    type: string
                  detail:
                    type: string
                  errorCode:
                    type: string
                  eventTypeId:
                    type: string
                  campaignId:
                    type: string
                  mailingId:
                    nullable: true
                  errorTime:
                    type: string
                  isRead:
                    type: boolean
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
              example:
                id: 56273e12d4c62cdd1be68506
                level: ERROR
                error: Recipient email address must be a valid email address
                detail: >-
                  {Model={CustomerGender=female, CompanyName=null,
                  CustomerFirstName=Margrit,
                  CustomerEmail=Margrit.Hauger@t.-online.deqw,
                  CustomerLastName=Hauger,
                  ActivationLinkUrl=https://accounts.dm.de/activation?customerid=102134625&token=285b64d9-d41c-4e0c-b2a5-76fd6d660974&contactsource=09757,
                  CustomerId=102134625}}
                errorCode: INX_1110
                eventTypeId: UserAccountActivation
                campaignId: 5885cf786c459144a87e52f0
                mailingId: null
                errorTime: 2023-01-07T05:40:42.347+0000
                isRead: true
                _links:
                  self:
                    href: >-
                      http://dm-services.api.localhost:10080/api-service/v1/errorlogs/56273e12d4c62cdd1be68506
        '400':
          description: ID has an invalid format
          headers: {}
          content: {}
        '404':
          description: A errorlog with ID does not exist
          headers: {}
          content: {}
      summary: Mark Single Errorlog as read
      operationId: Mark Single Errorlog as read
      description: >-
        ```bash

        curl -X POST -u 'keyid:secret' -H 'Content-Type: application/json' -d
        '{"isRead":true}'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/errorlogs/56273e12d4c62cdd1be68506/mark'

        ```


        Edit read status for a single errorlog entry.
      tags:
        - Errorlog
      parameters:
        - name: id
          in: path
          description: a single errorlog ID
          required: true
          example: 56273e12d4c62cdd1be68506
          schema:
            type: string
  /v1/errorlogs/mark:
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  updateCount:
                    type: number
              example:
                success: true
                updateCount: 12345
      summary: Edit read status for all Errorlog entries
      operationId: Edit read status for all Errorlog entries
      description: >-
        ```bash

        curl -X POST -u 'keyid:secret'
        'https://{spaceid}.api.inxmail-commerce.com/api-service/v1/errorlogs/mark?isRead=true'

        ```


        Edit read status for all errorlog entries.


        The parameter `isRead` must be specified.
      tags:
        - Errorlog
      parameters:
        - name: isRead
          in: query
          description: >-
            edits the mark status for all errorlog entries to the specific
            value.
          required: true
          example: 'true'
          schema:
            type: boolean
components:
  schemas: {}
tags:
  - name: General Information
  - name: Event
  - name: Eventtype
    description: >-
      The following resources supply information about all available eventtypes.
      Result sizes may be large, in that case the responses will contain only
      "pages" with a limited number of results.

      Further pages can be retrieved by following the `next` (or `previous`)
      links. These links will contain the `page` and `size` request parameters
      as described below. For the initial request, these parameters are not
      required.
  - name: Sending
    description: >-
      The following resources supply information about sent emails. Result sizes
      may be large, in that case the responses will contain only "pages" with a
      limited number of results.

      Further pages can be retrieved by following the `next` (or `previous`)
      links. These links will contain the `page` and `size` request parameters
      as described below. For the initial request, these parameters are not
      required.
  - name: Reaction Data
    description: >-
      The following resources supply information about reactions or results of
      events or mails. Result sizes may be large, in that case the responses
      will contain only "pages" with a limited number of results.

      Further pages can be retrieved by following the `next` (or `previous`)
      links. These links will contain the `page` and `size` request parameters
      as described below. For the initial request, these parameters are not
      required.
  - name: Blocklist
    description: >-
      The following resources supply information about email addresses that are
      blocked because emails hardbounced. Result sizes may be large, in that
      case the responses will contain only "pages" with a limited number of
      results.

      Further pages can be retrieved by following the `next` (or `previous`)
      links. These links will contain the `page` and `size` request parameters
      as described below. For the initial request, these parameters are not
      required.
  - name: Blacklist
    description: >-
      The following resources supply information about email addresses that are
      explicitly denied to receive emails, usually on request of the adress's
      owner.


      Result sizes may be large, in that case the responses will contain only
      "pages" with a limited number of results.

      Further pages can be retrieved by following the `next` (or `previous`)
      links. These links will contain the `page` and `size` request parameters
      as described below. For the initial request, these parameters are not
      required.
  - name: Send Raw Mail
  - name: Mail Relay
  - name: Delivery
    description: >-
      The following resources supply information about mail delivery state.
      Result sizes may be large, in that case the responses will contain only
      "pages" with a limited number of results.

      Further pages can be retrieved by following the `next` (or `previous`)
      links. These links will contain the `page` and `size` request parameters
      as described below. For the initial request, these parameters are not
      required.


      **Delivery information is available for 30 days after delivery and will be
      deleted afterwards.**
  - name: Errorlog
    description: >-
      The following resource provides information about errorlogs. An errorlog
      is written when an error occurs, which is caused by the user or the
      system.
