GSMA Open Gateway notification listener API

Notifications for Resource Lifecycle and event notifications

Operations 10

POST /listener/apiProductOrderAttributeValueChangeEvent Client listener for entity ApiProductOrderAttributeValueChangeEvent #
POST /listener/apiProductOrderCreateEvent Client listener for entity ApiProductOrderCreateEvent #
POST /listener/apiProductOrderStateChangeEvent Client listener for entity ApiProductOrderStateChangeEvent #
POST /listener/applicationApprovalStatusChangeEvent Client listener for entity ApplicationApprovalStatusChangeEvent #
POST /listener/applicationAttributeValueChangeEvent Client listener for entity ApplicationAttributeValueChangeEvent #
POST /listener/applicationCreateEvent Client listener for entity ApplicationCreateEvent #
POST /listener/applicationOwnerApprovalStatusChangeEvent Client listener for entity ApplicationOwnerApprovalStatusChangeEvent #
POST /listener/applicationOwnerAttributeValueChangeEvent Client listener for entity ApplicationOwnerAttributeValueChangeEvent #
POST /listener/applicationOwnerCreateEvent Client listener for entity ApplicationOwnerCreateEvent #
POST /listener/monitorStateChangeEvent Client listener for entity MonitorStateChangeEvent #

Documentation

📖
Documentation
https://github.com/camaraproject/NumberVerification
📖
APIReference
https://camaraproject.github.io/swagger-ui/
📖
Documentation
https://www.gsma.com/solutions-and-impact/gsma-open-gateway/gsma-open-gateway-api-descriptions/
📖
Documentation
https://github.com/camaraproject/SimSwap
📖
Documentation
https://github.com/camaraproject/DeviceSwap
📖
Documentation
https://github.com/camaraproject/CallForwardingSignal
📖
Documentation
https://github.com/camaraproject/KnowYourCustomerMatch
📖
Documentation
https://github.com/camaraproject/KnowYourCustomerAgeVerification
📖
Documentation
https://github.com/camaraproject/Tenure
📖
Documentation
https://github.com/camaraproject/OTPValidation
📖
Documentation
https://github.com/camaraproject/QualityOnDemand
📖
Documentation
https://github.com/camaraproject/DeviceReachabilityStatus
📖
Documentation
https://github.com/camaraproject/DeviceIdentifier
📖
Documentation
https://github.com/camaraproject/DeviceStatus
📖
Documentation
https://github.com/camaraproject/PopulationDensityData
📖
Documentation
https://github.com/camaraproject/DeviceLocation
📖
Documentation
https://github.com/camaraproject/SimpleEdgeDiscovery
📖
Documentation
https://github.com/camaraproject/CarrierBillingCheckOut
📖
Documentation
https://github.com/camaraproject/HomeDevicesQoD
📖
Documentation
https://github.com/tmforum-apis/TMF931_OpenGatewayOnboardingAndOrderingComponentSuite
📖
APIReference
https://github.com/tmforum-apis/TMF931_OpenGatewayOnboardingAndOrderingComponentSuite

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/open-gateway-notification-listener-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

open-gateway-notification-listener-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Open Gateway Operate API Onboarding and Ordering notification listener API
  description: "**TMF931 - API Ordering, Developer & Application Onboarding and Management**   \n\nThis Operate API specification covers the onboarding operations between Channel Partners and Operators as described by GSMA. It offers a consolidation of multiple TM Forum based APIs into a single specification (a component suite). This API specification proposes : \n- Application Owner (Developer) Management (acceptance, onboarding, lifecycle management)  \n- Application Management (acceptance, onboarding, lifecycle management)  \n- Service API Management (ordering, retrieving)\n\nThis API is a composite DCS (Domain Context Specialization) of the following TMF Open APIs for Open Gateway context\n- TMF622 Product Ordering Management v5.0\n- TMF637 Product Inventory Management v5.0\n- TMF669 Party Role Management v5.0\n- TMF639 Resource Inventory v5.0\n\nCopyright © TM Forum 2025. All Rights Reserved\n"
  version: 5.2.1
  x-generation-tooling-version: v8.5.15
  x-generation-data-model-version: unknown
  x-generation-date: '2025-12-11T09:49:01.463Z'
  x-api-id: TMF931
  license:
    name: Apache License 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: '{apiRoot}/openGatewayOperateAPIOnboardingAndOrdering/v5/'
  variables:
    apiRoot:
      default: https://serverRoot/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5
      enum:
      - https://serverRoot/tmf-api/openGatewayOperateAPIOnboardingAndOrdering/v5
tags:
- name: notification listener
  description: Notifications for Resource Lifecycle and event notifications
paths:
  /listener/apiProductOrderAttributeValueChangeEvent:
    post:
      tags:
      - notification listener
      summary: Client listener for entity ApiProductOrderAttributeValueChangeEvent
      description: Example of a client listener for receiving the notification ApiProductOrderAttributeValueChangeEvent
      operationId: apiProductOrderAttributeValueChangeEvent
      requestBody:
        $ref: '#/components/requestBodies/ApiProductOrderAttributeValueChangeEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/apiProductOrderCreateEvent:
    post:
      tags:
      - notification listener
      summary: Client listener for entity ApiProductOrderCreateEvent
      description: Example of a client listener for receiving the notification ApiProductOrderCreateEvent
      operationId: apiProductOrderCreateEvent
      requestBody:
        $ref: '#/components/requestBodies/ApiProductOrderCreateEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/apiProductOrderStateChangeEvent:
    post:
      tags:
      - notification listener
      summary: Client listener for entity ApiProductOrderStateChangeEvent
      description: Example of a client listener for receiving the notification ApiProductOrderStateChangeEvent
      operationId: apiProductOrderStateChangeEvent
      requestBody:
        $ref: '#/components/requestBodies/ApiProductOrderStateChangeEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/applicationApprovalStatusChangeEvent:
    post:
      tags:
      - notification listener
      summary: Client listener for entity ApplicationApprovalStatusChangeEvent
      description: Example of a client listener for receiving the notification ApplicationApprovalStatusChangeEvent
      operationId: applicationApprovalStatusChangeEvent
      requestBody:
        $ref: '#/components/requestBodies/ApplicationApprovalStatusChangeEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/applicationAttributeValueChangeEvent:
    post:
      tags:
      - notification listener
      summary: Client listener for entity ApplicationAttributeValueChangeEvent
      description: Example of a client listener for receiving the notification ApplicationAttributeValueChangeEvent
      operationId: applicationAttributeValueChangeEvent
      requestBody:
        $ref: '#/components/requestBodies/ApplicationAttributeValueChangeEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/applicationCreateEvent:
    post:
      tags:
      - notification listener
      summary: Client listener for entity ApplicationCreateEvent
      description: Example of a client listener for receiving the notification ApplicationCreateEvent
      operationId: applicationCreateEvent
      requestBody:
        $ref: '#/components/requestBodies/ApplicationCreateEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/applicationOwnerApprovalStatusChangeEvent:
    post:
      tags:
      - notification listener
      summary: Client listener for entity ApplicationOwnerApprovalStatusChangeEvent
      description: Example of a client listener for receiving the notification ApplicationOwnerApprovalStatusChangeEvent
      operationId: applicationOwnerApprovalStatusChangeEvent
      requestBody:
        $ref: '#/components/requestBodies/ApplicationOwnerApprovalStatusChangeEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/applicationOwnerAttributeValueChangeEvent:
    post:
      tags:
      - notification listener
      summary: Client listener for entity ApplicationOwnerAttributeValueChangeEvent
      description: Example of a client listener for receiving the notification ApplicationOwnerAttributeValueChangeEvent
      operationId: applicationOwnerAttributeValueChangeEvent
      requestBody:
        $ref: '#/components/requestBodies/ApplicationOwnerAttributeValueChangeEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/applicationOwnerCreateEvent:
    post:
      tags:
      - notification listener
      summary: Client listener for entity ApplicationOwnerCreateEvent
      description: Example of a client listener for receiving the notification ApplicationOwnerCreateEvent
      operationId: applicationOwnerCreateEvent
      requestBody:
        $ref: '#/components/requestBodies/ApplicationOwnerCreateEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/monitorStateChangeEvent:
    post:
      tags:
      - notification listener
      summary: Client listener for entity MonitorStateChangeEvent
      description: Example of a client listener for receiving the notification MonitorStateChangeEvent
      operationId: monitorStateChangeEvent
      requestBody:
        $ref: '#/components/requestBodies/MonitorStateChangeEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
components:
  schemas:
    LogicalResourceRole:
      type: object
      description: A logical Resource Role is a role given to a logical resource in a given context.
      properties:
        grantedPermissionSet:
          description: The PermissionSet is a set of Permissions granted to a user (party, party role, resource or resource role). The set may be granted explicitly by an authorized user or may be acquired implicitly due to the role that the user is playing.
          type: array
          items:
            $ref: '#/components/schemas/ApiPermissionSet'
    ApplicationOwnerAttributeValueChangeEvent:
      allOf:
      - $ref: '#/components/schemas/Event'
      - type: object
        description: ApplicationOwnerAttributeValueChangeEvent generic structure
        properties:
          event:
            $ref: '#/components/schemas/ApplicationOwnerAttributeValueChangeEventPayload'
      discriminator:
        propertyName: '@type'
        mapping:
          ApplicationOwnerAttributeValueChangeEvent: '#/components/schemas/ApplicationOwnerAttributeValueChangeEvent'
    ApplicationCreateEventPayload:
      type: object
      description: ApplicationCreateEventPayload
      properties:
        application:
          $ref: '#/components/schemas/Application'
    Entity:
      type: object
      description: Base entity schema for use in TMForum Open-APIs. Property.
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - $ref: '#/components/schemas/Addressable'
    LightGeographicSubAddress:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: Representation of a GeographicSubAddress. It is used for addressing within a property in an urban area (country properties are often defined differently). It may refer to a building, a building cluster, or a floor of a multistory building.
        properties:
          buildingName:
            type: string
            description: allows for buildings that have well-known names
          levelNumber:
            type: string
            description: used where a level type may be repeated e.g. BASEMENT 1, BASEMENT 2
          levelType:
            type: string
            description: describes level types within a building
          privateStreetName:
            type: string
            description: private streets internal to a property (e.g. a university) may have internal names that are not recorded by the land title office.
          privateStreetNumber:
            type: string
            description: private streets numbers internal to a private street
      discriminator:
        propertyName: '@type'
        mapping:
          LightGeographicSubAddress: '#/components/schemas/LightGeographicSubAddress'
    ApiProductOrderAttributeValueChangeEventPayload:
      type: object
      description: ApiProductOrderAttributeValueChangeEventPayload
      properties:
        productOrder:
          $ref: '#/components/schemas/ApiProductOrder'
    Error:
      discriminator:
        propertyName: '@type'
        mapping:
          Error: '#/components/schemas/Error'
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        required:
        - code
        - reason
        properties:
          code:
            type: string
            description: Application relevant detail, defined in the API or a common list.
          reason:
            type: string
            description: Explanation of the reason for the error which can be shown to a client user.
          message:
            type: string
            description: More details and corrective actions related to the error which can be shown to a client user.
          status:
            type: string
            description: HTTP Error code extension
          referenceError:
            type: string
            description: URI of documentation describing the error.
      description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
    ApplicationOwnerCreateEventPayload:
      type: object
      description: ApplicationOwnerCreateEventPayload
      properties:
        applicationOwner:
          $ref: '#/components/schemas/ApplicationOwner'
    ApiProductOrderAttributeValueChangeEvent:
      allOf:
      - $ref: '#/components/schemas/Event'
      - type: object
        description: ApiProductOrderAttributeValueChangeEvent generic structure
        properties:
          event:
            $ref: '#/components/schemas/ApiProductOrderAttributeValueChangeEventPayload'
      discriminator:
        propertyName: '@type'
        mapping:
          ApiProductOrderAttributeValueChangeEvent: '#/components/schemas/ApiProductOrderAttributeValueChangeEvent'
    DCSProductOrderItem:
      type: object
      description: An identified part of the order. A product order is decomposed into one or more order items.
      allOf:
      - $ref: '#/components/schemas/GCProductOrderItem'
      discriminator:
        propertyName: '@type'
        mapping:
          ApiProductOrderItemAdd: '#/components/schemas/ApiProductOrderItemAdd'
          ApiProductOrderItemModify: '#/components/schemas/ApiProductOrderItemModify'
          ProductOrderItemDelete: '#/components/schemas/ProductOrderItemDelete'
    Addressable:
      type: object
      description: Base schema for addressable entities
      properties:
        href:
          type: string
          description: Hyperlink reference
        id:
          type: string
          description: unique identifier
    ApplicationCreateEvent:
      allOf:
      - $ref: '#/components/schemas/Event'
      - type: object
        description: ApplicationCreateEvent generic structure
        properties:
          event:
            $ref: '#/components/schemas/ApplicationCreateEventPayload'
      discriminator:
        propertyName: '@type'
        mapping:
          ApplicationCreateEvent: '#/components/schemas/ApplicationCreateEvent'
    ContactMedium:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: 'Indicates the contact medium that could be used to contact the party. This is an abstract base class, the actual value is in one of the strongly-typed subclasses : EmailContactMedium, FaxContactMedium, PhoneContactMedium, GeographicAddressContactMedium, SocialMediaContactMedium...'
        properties:
          id:
            type: string
            description: Identifier for this contact medium.
          preferred:
            type: boolean
            description: If true, indicates that is the preferred contact medium
          contactType:
            type: string
            description: Type of the contact medium to qualify it like pro email / personal email. This is not used to define the contact medium used.
          validFor:
            $ref: '#/components/schemas/TimePeriod'
      discriminator:
        propertyName: '@type'
        mapping:
          ContactMedium: '#/components/schemas/ContactMedium'
          EmailContactMedium: '#/components/schemas/EmailContactMedium'
          FaxContactMedium: '#/components/schemas/FaxContactMedium'
          GeographicAddressContactMedium: '#/components/schemas/GeographicAddressContactMedium'
          PhoneContactMedium: '#/components/schemas/PhoneContactMedium'
          SocialContactMedium: '#/components/schemas/SocialContactMedium'
          WebFormContactMedium: '#/components/schemas/WebFormContactMedium'
    ApiPermissionSet:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: The PermissionSet is a set of Permissions granted to a user (party, party role or resource). The set may be granted explicitly by an authorized user or may be acquired implicitly due to the role that the user is playing.
        properties:
          creationDate:
            type: string
            format: date-time
            description: Date when the PermissionSet was created and assigned to a user
          description:
            type: string
            description: Text describing the permission set
          validFor:
            $ref: '#/components/schemas/TimePeriod'
          permission:
            $ref: '#/components/schemas/ApiConsumerPermission'
      discriminator:
        propertyName: '@type'
        mapping:
          ApiPermissionSet: '#/components/schemas/ApiPermissionSet'
    AttachmentRef:
      allOf:
      - $ref: '#/components/schemas/EntityRef'
      - type: object
        description: Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures
        properties:
          description:
            type: string
            description: A narrative text describing the content of the attachment
          url:
            description: Link to the attachment media/content
            type: string
      discriminator:
        propertyName: '@type'
        mapping:
          AttachmentRef: '#/components/schemas/AttachmentRef'
    ApiDigitalIdentity:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: ApiDigitalIdentity is a class that allow to describe a digital identity for an individual or a resource or a specific party role. One of these three MUST be provided. If an individual is provided, this identity will be for all her/his partyRole. To avoid confusion it is recommended in this case to not provide partyRoleIdentified. DEPRECATED in the POST and PATCH, this attribute can't be valued by the API consumer in this context.
        properties:
          clientId:
            type: string
            description: 'OAuth2 Client ID: A public identifier for apps. Even though it is public, it is best that it is not guessable by third parties, so many implementations use something like a 32-character hex string. DEPRECATED in the POST and the PATCH, this attribute can''t be valued by the API consumer in this context.'
          redirectUrl:
            type: array
            deprecated: true
            items:
              type: string
            description: 'DEPRECATED : moved to Application schema. After a user successfully authorizes an application, the authorization server will redirect the user back to the application.'
          jwksUri:
            deprecated: true
            type: string
            description: 'DEPRECATED : moved to Application schema. JSON Web Key (JWK) is a data structure that represents a cryptographic key'
          validFor:
            $ref: '#/components/schemas/TimePeriod'
          status:
            type: string
            description: Used to indicate the current lifecycle status of this digital identity (unknown, active, suspended, archived).
          credential:
            type: array
            description: A list of credential/authentification method that are used for this digital identity.
            items:
              $ref: '#/components/schemas/OAuth2ClientCredential'
      discriminator:
        propertyName: '@type'
        mapping:
          ApiDigitalIdentity: '#/components/schemas/ApiDigitalIdentity'
    MonitorStateChangeEvent:
      allOf:
      - $ref: '#/components/schemas/Event'
      - type: object
        description: MonitorStateChangeEvent generic structure
        properties:
          event:
            $ref: '#/components/schemas/MonitorStateChangeEventPayload'
      discriminator:
        propertyName: '@type'
        mapping:
          MonitorStateChangeEvent: '#/components/schemas/MonitorStateChangeEvent'
    ApiProductOrder:
      allOf:
      - $ref: '#/components/schemas/Entity'
      - type: object
        description: An ApiProductOrder is a specialization of a ProductOrder, which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa.
        properties:
          description:
            type: string
            description: Description of the product order
          externalId:
            type: array
            items:
              $ref: '#/components/schemas/ExternalIdentifier'
            description: Can be used to pass the internal identifier of the order in the Channel Partner system.
          productOrderItem:
            type: array
            items:
              $ref: '#/components/schemas/DCSProductOrderItem'
            minItems: 1
            description: An identified part of the order. A product order is decomposed into one or more order items.
          agreement:
            type: array
            description: A reference to an agreement defined in the context of the product order
            items:
              $ref: '#/components/schemas/AgreementRef'
          channelPartner:
            $ref: '#/components/schemas/PartyRoleRef'
          state:
            $ref: '#/components/schemas/ProductOrderStateType'
          stateReason:
            type: string
            description: A string providing an explanation on the value of the state lifecycle. For instance if the state is rejected, stateReason will provide the reason for rejection.
          creationDate:
            type: string
            format: date-time
            description: Date and time when the ProductOrder was created
          expectedCompletionDate:
            type: string
            format: date-time
            description: Expected delivery date amended by the provider
          completionDate:
            type: string
            format: date-time
            description: Date when the ProductOrder was completed
      discriminator:
        propertyName: '@type'
        mapping:
          ApiProductOrder: '#/components/schemas/ApiProductOrder'
    ApplicationCategoryType:
      enum:
      - agriculture
      - artAndDesign
      - autoAndVehicle
      - beauty
      - booksAndReference
      - business
      - construction
      - defense
      - developerTools
      - education
      - engineering
      - eventsAndEntertainment
      - finance
      - foodAndDrink
      - games
      - healthAndFitness
      - healthcare
      - information
      - kids
      - librariesAndDemo
      - lifestyle
      - manufacturing
      - mapsAndNavigation
      - media
      - medical
      - mining
      - musicAndAudio
      - newsAndMagazines
      - organizations
      - other
      - photoAndVideo
      - productivity
      - publicService
      - realEstate
      - shopping
      - socialNetworkingAndCommunications
      - sports
      - tourism
      - utilities
      - trading
      - transportation
      - travelAndLocal
      - water
      - weather
      type: string
      description: Valid values for the category of the Application. Please refer to main Application stores in order to retrieve a more precise definition of the categories.
    ISO31661Alpha2StandardIdentifier:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: The corresponding identification of the resource in different standard, regulatory definitions. The standard specification identifier (e.g., ISO 3166-1 Alpha-2) and the corresponding value (e.g., BE) relevant to a particular resource.
        properties:
          value:
            type: string
            description: The value of the resource in the ISO 3166-1 Alpha 2 standard
            pattern: '[A-Z]{2}'
            example: GB
      discriminator:
        propertyName: '@type'
        mapping:
          ISO31661Alpha2StandardIdentifier: '#/components/schemas/ISO31661Alpha2StandardIdentifier'
    Characteristic:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: 'Describes a given characteristic of an object or entity through a name/value pair. This is an abstract base class, the actual value is in one of the strongly-typed subclasses : StringCharacteristic, ObjectCharacteristic, FloatCharacteristic, BooleanCharacteristic, NumberCharacteristic, IntegerCharacteristic, StringArrayCharacteristic, ObjectArrayCharacteristic, BooleanArrayCharacteristic, NumberArrayCharacteristic, IntegerArrayCharacteristic...'
        properties:
          id:
            type: string
            description: Unique identifier of the characteristic
          name:
            type: string
            description: Name of the characteristic
          valueType:
            type: string
            description: Data type of the value of the characteristic
          characteristicRelationship:
            type: array
            description: Collection of characteristic relationships
            items:
              $ref: '#/components/schemas/CharacteristicRelationship'
      discriminator:
        propertyName: '@type'
        mapping:
          Characteristic: '#/components/schemas/Characteristic'
    Request:
      type: object
      description: A response to a request
      properties:
        method:
          description: The protocol of the request, e.g. http
          type: string
        to:
          description: The target of the request, e.g. a URL for an HTTP request
          type: string
        body:
          description: The body of the request. For example for an HTTP request might contain content of a form .
          type: object
        header:
          type: array
          description: Items included in the header of the request. For example for an HTTP request might contain requested locale, basic authentication.
          items:
            $ref: '#/components/schemas/HeaderItem'
          title: header
    Attachment:
      allOf:
      - $ref: '#/components/schemas/Entity'
      - type: object
        description: Complements the description of an element (for instance a product) through video, pictures...
        properties:
          name:
            type: string
            description: The name of the attachment
          description:
            type: string
            description: A narrative text describing the content of the attachment
            example: Photograph of the Product
          url:
            type: string
            description: Uniform Resource Locator, is a web page address (a subset of URI)
            example: https://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f
          content:
            type: string
            format: base64
            description: The actual contents of the attachment object, if embedded, encoded as base64
          size:
            $ref: '#/components/schemas/Quantity'
          validFor:
            $ref: '#/components/schemas/TimePeriod'
          attachmentType:
            type: string
            description: a business characterization of the purpose of the attachment, for example logo, instructionManual, contractCopy
          mimeType:
            type: string
            description: a technical characterization of the attachment content format using IETF Mime Types
      discriminator:
        propertyName: '@type'
        mapping:
          Attachment: '#/components/schemas/Attachment'
    ApiConsumerPermission:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: An ApiConsumerPermission allows an Application to consume an API.
        properties:
          managedAssetGroup:
            $ref: '#/components/schemas/ApiListAssetGroup'
      discriminator:
        propertyName: '@type'
        mapping:
          ApiConsumerPermission: '#/components/schemas/ApiConsumerPermission'
    Response:
      type: object
      description: A response to a request
      properties:
        statusCode:
          description: The status of the response. For example for an HTTP response would be codes such as 200, 400, etc.
          type: string
        body:
          description: The body of the response.
          type: object
        header:
          description: Items included in the header of the response. For example for an HTTP response might contain negotiated locale.
          type: array
          items:
            $ref: '#/components/schemas/HeaderItem'
          title: header
    ApplicationApprovalStatusChangeEvent:
      allOf:
      - $ref: '#/components/schemas/Event'
      - type: object
        description: ApplicationApprovalStatusChangeEvent generic structure
        properties:
          event:
            $ref: '#/components/schemas/ApplicationApprovalStatusChangeEventPayload'
      discriminator:
        propertyName: '@type'
        mapping:
          ApplicationApprovalStatusChangeEvent: '#/components/schemas/ApplicationApprovalStatusChangeEvent'
    OAuth2ClientCredential:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: OAuth2ClientCredential describes the registration attributes in an OAuth registration process
        properties:
          clientSecret:
            type: string
            description: Secret that permits the Application to authenticate with OAuth2 method.
          state:
            type: string
            description: Used to indicate the current lifecycle state of this credential (like active, inactive, expired).
          validFor:
            $ref: '#/components/schemas/TimePeriod'
      discriminator:
        propertyName: '@type'
        mapping:
          OAuth2ClientCredential: '#/components/schemas/OAuth2ClientCredential'
    AssetGroup:
      type: object
      description: Defines a group of assets (entities) to which access can be controlled. Specific subclasses allow definition in various ways (list of entities, queries, ownership by customer, etc.). AssetGroup is not a managed entity, its concrete subclasses are always included by value in their containing entities.
      allOf:
      - $ref: '#/components/schemas/Extensible'
      discriminator:
        propertyName: '@type'
        mapping:
          ApiListAssetGroup: '#/components/schemas/ApiListAssetGroup'
          AssetGroup: '#/components/schemas/AssetGroup'
    ApiProductOrderCreateEvent:
      allOf:
      - $ref: '#/components/schemas/Event'
      - type: object
        description: ApiProductOrderCreateEvent generic structure
        properties:
          event:
            $ref: '#/components/schemas/ApiProductOrderCreateEventPayload'
      discriminator:
        propertyName: '@type'
        mapping:
          ApiProductOrderCreateEvent: '#/components/schemas/ApiProductOrderCreateEvent'
    ApplicationOwnerOrganization:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: Application Organization represents a group of people identified by shared interests or purpose. Examples include business, department and enterprise. Because of the complex nature of many businesses, both organizations and organization units are represented by the same data. It's a specialization of Party in the Open Gateway context.
        properties:
          name:
            type: string
            description: Organization name (department name for example)
          nameType:
            type: string
            description: 'Type of the name : Co, Inc, Ltd, etc.'
          tradingName:
            type: string
            description: Name that the organization (unit) trades under
          organizationType:
            $ref: '#/components/schemas/DpvOrganizationType'
          organizationIdentification:
            type: array
            items:
              $ref: '#/components/schemas/OrganizationIdentification'
            description: List of official identifiers given to the organization, for example company number in the registry of companies
          isLegalEntity:
            type: boolean
            description: If value is true, the organization is a legal entity known by a national referential.
          externalReference:
            type: array
            items:
              $ref: '#/components/schemas/ExternalIdentifier'
            description: List of identifiers of the Party in an external system, for example when party information is imported from a commerce system
          contactMedium:
            type: array
            items:
              $ref: '#/components/schemas/ContactMedium'
            description: List of means for contacting the party, e.g. mobile phone, email address
          legalRepresentative:
            $ref: '#/components/schemas/ApplicationOwnerRelatedIndividual'
          localRepresentative:
            type: array
            items:
              $ref: '#/components/schemas/ApplicationOwnerRelatedLocalRepresentative'
            description: Represents a Party representing the Organization within a geographic localization.
          dataProtectionOfficer:
            $ref: '#/components/schemas/ApplicationOwnerPartyOrPartyRole'
          privacyManager:
            $ref: '#/components/schemas/ApplicationOwnerPartyOrPartyRole'
          registeredGeographicAddress:
            $ref: '#/components/schemas/LightGeographicAddress'
          taxNumber:
            type: string
            description: Tax number of the Organization in the country
          privacyPolicyURL:
            type: string
            description: Url to privacy policy.
      discriminator:
        propertyName: '@type'
        mapping:
          ApplicationOwnerOrganization: '#/components/schemas/ApplicationOwnerOrganizat

# --- truncated at 32 KB (83 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/open-gateway/refs/heads/main/openapi/open-gateway-notification-listener-api-openapi.yml