Worldline Message - Subscription Service API

Message Subscription Service Api Controller

OpenAPI Specification

wordline-message-subscription-service-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: 'The current set of APIs will be available in Q2 2026 on Worldline Global Issuing Platforms.

    Additional APIs are under construction and planned to be available in 2026.'
  version: 2.41.1
  title: Worldline Card Issuing Account - AccountState Message - Subscription Service API
  contact: {}
host: sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing
basePath: /api/v2
schemes:
- https
tags:
- name: Message - Subscription Service
  description: Message Subscription Service Api Controller
paths:
  /issuers/{issuerId}/subscriptions/{subscriptionReference}/services:
    get:
      tags:
      - Message - Subscription Service
      summary: Retrieve services by subscription reference
      operationId: getSubscriptionServicesBySubscriptionReference
      produces:
      - application/json
      parameters:
      - name: WL-Correlation-ID
        in: header
        description: WL-Correlation-ID
        required: false
        type: string
      - name: issuerId
        in: path
        description: Id of the issuing bank
        required: true
        type: string
      - name: subscriptionReference
        in: path
        description: Reference of the subscription
        required: true
        type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ApiResponseEntitySubscriptionServices'
        '400':
          description: Bad request
          schema:
            $ref: '#/definitions/BadRequestErrorApiResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/UnauthorizedResponseMetadata'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/ForbiddenErrorApiResponse'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/NotFoundErrorApiResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/InternalServerErrorErrorApiResponse'
        '502':
          description: Bad gateway
          schema:
            $ref: '#/definitions/BadGatewayErrorApiResponse'
    post:
      tags:
      - Message - Subscription Service
      summary: Create new service subscription
      operationId: createSubscriptionService
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: WL-Correlation-ID
        in: header
        description: WL-Correlation-ID
        required: false
        type: string
      - name: issuerId
        in: path
        description: Id of the issuing bank
        required: true
        type: string
      - name: subscriptionReference
        in: path
        description: Reference of the subscription
        required: true
        type: string
      - in: body
        name: subscriptionService
        description: subscriptionService
        required: true
        schema:
          $ref: '#/definitions/SubscriptionService'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ApiResponseEntityCreateSubscriptionService'
        '400':
          description: Bad request
          schema:
            $ref: '#/definitions/BadRequestErrorApiResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/UnauthorizedResponseMetadata'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/ForbiddenErrorApiResponse'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/NotFoundErrorApiResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/InternalServerErrorErrorApiResponse'
        '502':
          description: Bad gateway
          schema:
            $ref: '#/definitions/BadGatewayErrorApiResponse'
  /issuers/{issuerId}/subscriptions/{subscriptionReference}/services/{subscriptionServiceReference}:
    get:
      tags:
      - Message - Subscription Service
      summary: Retrieve services for a subscription
      operationId: getSubscriptionServiceByReference
      produces:
      - application/json
      parameters:
      - name: WL-Correlation-ID
        in: header
        description: WL-Correlation-ID
        required: false
        type: string
      - name: issuerId
        in: path
        description: Id of the issuing bank
        required: true
        type: string
      - name: subscriptionReference
        in: path
        description: Reference of the subscription
        required: true
        type: string
      - name: subscriptionServiceReference
        in: path
        description: Reference of the subscription service
        required: true
        type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ApiResponseEntitySubscriptionService'
        '400':
          description: Bad request
          schema:
            $ref: '#/definitions/BadRequestErrorApiResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/UnauthorizedResponseMetadata'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/ForbiddenErrorApiResponse'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/NotFoundErrorApiResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/InternalServerErrorErrorApiResponse'
        '502':
          description: Bad gateway
          schema:
            $ref: '#/definitions/BadGatewayErrorApiResponse'
    put:
      tags:
      - Message - Subscription Service
      summary: Modify subscription service by reference
      operationId: modifySubscriptionServiceByReference
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: WL-Correlation-ID
        in: header
        description: WL-Correlation-ID
        required: false
        type: string
      - name: issuerId
        in: path
        description: Id of the issuing bank
        required: true
        type: string
      - name: subscriptionReference
        in: path
        description: Reference of the subscription
        required: true
        type: string
      - in: body
        name: subscriptionService
        description: subscriptionService
        required: true
        schema:
          $ref: '#/definitions/SubscriptionService'
      - name: subscriptionServiceReference
        in: path
        description: Reference of the subscription service
        required: true
        type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ApiResponseEntityModifySubscriptionService'
        '400':
          description: Bad request
          schema:
            $ref: '#/definitions/BadRequestErrorApiResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/UnauthorizedResponseMetadata'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/ForbiddenErrorApiResponse'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/NotFoundErrorApiResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/InternalServerErrorErrorApiResponse'
        '502':
          description: Bad gateway
          schema:
            $ref: '#/definitions/BadGatewayErrorApiResponse'
    delete:
      tags:
      - Message - Subscription Service
      summary: Delete subscription service by reference
      operationId: deleteSubscriptionServiceByReference
      produces:
      - application/json
      parameters:
      - name: WL-Correlation-ID
        in: header
        description: WL-Correlation-ID
        required: false
        type: string
      - name: issuerId
        in: path
        description: Id of the issuing bank
        required: true
        type: string
      - name: subscriptionReference
        in: path
        description: Reference of the subscription
        required: true
        type: string
      - name: subscriptionServiceReference
        in: path
        description: Reference of the subscription service
        required: true
        type: string
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ApiResponseEntityDeleteSubscriptionService'
        '400':
          description: Bad request
          schema:
            $ref: '#/definitions/BadRequestErrorApiResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/UnauthorizedResponseMetadata'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/ForbiddenErrorApiResponse'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/NotFoundErrorApiResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/InternalServerErrorErrorApiResponse'
        '502':
          description: Bad gateway
          schema:
            $ref: '#/definitions/BadGatewayErrorApiResponse'
definitions:
  NotFoundErrorApiResponse:
    type: object
    required:
    - responseMetadata
    properties:
      responseMetadata:
        allOf:
        - $ref: '#/definitions/NotFoundResponseMetadata'
    title: NotFoundErrorApiResponse
  BadGatewayErrorApiResponse:
    type: object
    required:
    - responseMetadata
    properties:
      responseMetadata:
        allOf:
        - $ref: '#/definitions/BadGatewayResponseMetadata'
    title: BadGatewayErrorApiResponse
  InternalServerErrorErrorApiResponse:
    type: object
    required:
    - responseMetadata
    properties:
      responseMetadata:
        allOf:
        - $ref: '#/definitions/InternalServerErrorResponseMetadata'
    title: InternalServerErrorErrorApiResponse
  InternalServerErrorResponseMetadata:
    type: object
    required:
    - correlationId
    - responseDateTime
    - statusCode
    - statusMessage
    properties:
      correlationId:
        type: string
        description: Correlation Identifier
      responseDateTime:
        type: string
        example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ
        description: Timestamp when response date was generated
      statusCode:
        type: integer
        format: int32
        example: 500
        description: HTTP status code
      statusMessage:
        type: string
        example: Internal server error
        description: Executed REST API status message
    title: InternalServerErrorResponseMetadata
  Links:
    type: object
    required:
    - self
    properties:
      self:
        type: string
        example: /x/{x}?x=x
        description: Service method URL
      next:
        type: string
        example: /x/{x}?page[offset]=2
        description: URL pagination query parameter next page
    title: Links
  ApiResponseEntitySubscriptionServices:
    type: object
    required:
    - responseMetadata
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/SubscriptionService'
      responseMetadata:
        $ref: '#/definitions/ResponseMetadata'
    title: ApiResponseEntitySubscriptionServices
    description: Issuer response entity
  ApiResponseEntityModifySubscriptionService:
    type: object
    required:
    - responseMetadata
    properties:
      data:
        $ref: '#/definitions/SubscriptionServiceResponse'
      responseMetadata:
        $ref: '#/definitions/ResponseMetadata'
    title: ApiResponseEntityModifySubscriptionService
    description: Issuer response entity
  ApiResponseEntitySubscriptionService:
    type: object
    required:
    - responseMetadata
    properties:
      data:
        $ref: '#/definitions/SubscriptionService'
      responseMetadata:
        $ref: '#/definitions/ResponseMetadata'
    title: ApiResponseEntitySubscriptionService
    description: Issuer response entity
  ApiResponseEntityDeleteSubscriptionService:
    type: object
    required:
    - responseMetadata
    properties:
      data:
        $ref: '#/definitions/SubscriptionServiceResponse'
      responseMetadata:
        $ref: '#/definitions/ResponseMetadata'
    title: ApiResponseEntityDeleteSubscriptionService
    description: Issuer response entity
  UnauthorizedResponseMetadata:
    type: object
    required:
    - correlationId
    - responseDateTime
    - statusCode
    - statusMessage
    properties:
      correlationId:
        type: string
        description: Correlation Identifier
      responseDateTime:
        type: string
        example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ
        description: Timestamp when response date was generated
      statusCode:
        type: integer
        format: int32
        example: 401
        description: HTTP status code
      statusMessage:
        type: string
        example: Unauthorized
        description: Executed REST API status message
    title: UnauthorizedResponseMetadata
  ApiResponseEntityCreateSubscriptionService:
    type: object
    required:
    - responseMetadata
    properties:
      data:
        $ref: '#/definitions/SubscriptionServiceResponse'
      responseMetadata:
        $ref: '#/definitions/ResponseMetadata'
    title: ApiResponseEntityCreateSubscriptionService
    description: Issuer response entity
  SubscriptionServiceResponse:
    type: object
    properties:
      subscriptionIdentifier:
        $ref: '#/definitions/SubscriptionServiceIdentifier'
    title: SubscriptionServiceResponse
  SubscriptionEvent:
    type: object
    required:
    - eventName
    properties:
      eventName:
        type: string
        example: XX_Approve_FO
      externalReference:
        type: string
        description: Optional external event identifier
      parameters:
        type: array
        description: Optional list of parameters to customize the criteria values for events
        items:
          $ref: '#/definitions/SubscriptionParameter'
      subscriptionEventIdentifier:
        $ref: '#/definitions/SubscriptionEventIdentifier'
    title: SubscriptionEvent
  ResponseMetadata:
    type: object
    required:
    - correlationId
    - responseDateTime
    - statusCode
    - statusMessage
    properties:
      correlationId:
        type: string
        description: Correlation Identifier
      links:
        description: Metadata Links
        allOf:
        - $ref: '#/definitions/Links'
      statusMessage:
        type: string
        example: Executed successfully
        description: Executed REST API status message
      statusCode:
        type: integer
        format: int32
        example: 200
        description: HTTP status code
      responseDateTime:
        type: string
        example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ
        description: Timestamp when response date was generated
      timeTakenMs:
        type: integer
        format: int64
        example: 12
        description: Wall clock time required from service to generate the response
    title: ResponseMetadata
  NotFoundResponseMetadata:
    type: object
    required:
    - correlationId
    - responseDateTime
    - statusCode
    - statusMessage
    properties:
      correlationId:
        type: string
        description: Correlation Identifier
      responseDateTime:
        type: string
        example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ
        description: Timestamp when response date was generated
      statusCode:
        type: integer
        format: int32
        example: 404
        description: HTTP status code
      statusMessage:
        type: string
        example: Not found
        description: Executed REST API status message
    title: NotFoundResponseMetadata
  ForbiddenErrorApiResponse:
    type: object
    required:
    - responseMetadata
    properties:
      responseMetadata:
        allOf:
        - $ref: '#/definitions/ForbiddenResponseMetadata'
    title: ForbiddenErrorApiResponse
  SubscriptionServiceIdentifier:
    type: object
    properties:
      subscriptionServiceReference:
        type: string
    title: SubscriptionServiceIdentifier
  SubscriptionService:
    type: object
    required:
    - serviceType
    properties:
      contacts:
        type: array
        description: List of addresses for an ALERT subscription (required if serviceType is ALERT)
        items:
          $ref: '#/definitions/SubscriptionContact'
      events:
        type: array
        description: List of events this subscription will be notified for
        items:
          $ref: '#/definitions/SubscriptionEvent'
      packet:
        type: string
        description: ALERT packet name from the issuer configuration (required if serviceType is ALERT)
      serviceType:
        type: string
        example: MESSAGE_SERVICE
        enum:
        - ALERT
        - INSTALMENT
        - MESSAGE_SERVICE
      subscriptionServiceIdentifier:
        $ref: '#/definitions/SubscriptionServiceIdentifier'
    title: SubscriptionService
  BadRequestResponseMetadata:
    type: object
    required:
    - correlationId
    - responseDateTime
    - statusCode
    - statusMessage
    properties:
      correlationId:
        type: string
        description: Correlation Identifier
      responseDateTime:
        type: string
        example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ
        description: Timestamp when response date was generated
      statusCode:
        type: integer
        format: int32
        example: 400
        description: HTTP status code
      statusMessage:
        type: string
        example: Bad request
        description: Executed REST API status message
    title: BadRequestResponseMetadata
  SubscriptionContact:
    type: object
    required:
    - type
    - value
    properties:
      pushDeviceType:
        type: string
        description: Type of (mobile) device (required if type is PUSH)
        enum:
        - ANDROID
        - IOS
      type:
        type: string
        example: MSISDN
        enum:
        - MSISDN
        - EMAIL
        - PUSH
      value:
        type: string
        example: '+49171000000001'
    title: SubscriptionContact
  SubscriptionParameter:
    type: object
    required:
    - criteria
    - value
    properties:
      criteria:
        type: string
      value:
        type: string
    title: SubscriptionParameter
  SubscriptionEventIdentifier:
    type: object
    properties:
      subscriptionEventReference:
        type: string
    title: SubscriptionEventIdentifier
  BadGatewayResponseMetadata:
    type: object
    required:
    - correlationId
    - responseDateTime
    - statusCode
    - statusMessage
    properties:
      correlationId:
        type: string
        description: Correlation Identifier
      responseDateTime:
        type: string
        example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ
        description: Timestamp when response date was generated
      statusCode:
        type: integer
        format: int32
        example: 502
        description: HTTP status code
      statusMessage:
        type: string
        example: Bad Gateway
        description: Executed REST API status message
    title: BadGatewayResponseMetadata
  BadRequestErrorApiResponse:
    type: object
    required:
    - responseMetadata
    properties:
      responseMetadata:
        allOf:
        - $ref: '#/definitions/BadRequestResponseMetadata'
    title: BadRequestErrorApiResponse
  ForbiddenResponseMetadata:
    type: object
    required:
    - correlationId
    - responseDateTime
    - statusCode
    - statusMessage
    properties:
      correlationId:
        type: string
        description: Correlation Identifier
      responseDateTime:
        type: string
        example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ
        description: Timestamp when response date was generated
      statusCode:
        type: integer
        format: int32
        example: 403
        description: HTTP status code
      statusMessage:
        type: string
        example: Forbidden
        description: Executed REST API status message
    title: ForbiddenResponseMetadata
securityDefinitions:
  basic:
    type: oauth2
    flow: application
    tokenUrl: https://sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/token