{ "openapi": "3.0.1", "info": { "title": "TMF 629 Customer Management-v4.0.0", "description": "This is Swagger UI environment generated for the TMF Customer Management specification", "license": { "name": "Apache 2.0", "url": "https://osl.etsi.org" }, "version": "4.0.0" }, "externalDocs": { "description": "TMF API Tables", "url": "https://www.tmforum.org/oda/open-apis/table" }, "servers": [ { "url": "https://portal.openslice.eu/tmf-api", "description": "Generated server url" } ], "security": [ { "security_auth": [] } ], "tags": [ { "name": "listener", "description": "the listener API" }, { "name": "customer", "description": "the customer API" }, { "name": "hub", "description": "the hub API" } ], "paths": { "/listener/customerStateChangeEvent": { "post": { "tags": [ "listener", "notification listeners (client side)" ], "summary": "Client listener for entity CustomerStateChangeEvent", "description": "Example of a client listener for receiving the notification CustomerStateChangeEvent", "operationId": "listenToCustomerStateChangeEvent", "requestBody": { "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/CustomerStateChangeEvent" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "400": { "description": "Bad Request", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } } } } }, "/listener/customerDeleteEvent": { "post": { "tags": [ "listener", "notification listeners (client side)" ], "summary": "Client listener for entity CustomerDeleteEvent", "description": "Example of a client listener for receiving the notification CustomerDeleteEvent", "operationId": "listenToCustomerDeleteEvent", "requestBody": { "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/CustomerDeleteEvent" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "400": { "description": "Bad Request", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } } } } }, "/listener/customerCreateEvent": { "post": { "tags": [ "listener", "notification listeners (client side)" ], "summary": "Client listener for entity CustomerCreateEvent", "description": "Example of a client listener for receiving the notification CustomerCreateEvent", "operationId": "listenToCustomerCreateEvent", "requestBody": { "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/CustomerCreateEvent" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "400": { "description": "Bad Request", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } } } } }, "/listener/customerAttributeValueChangeEvent": { "post": { "tags": [ "listener", "notification listeners (client side)" ], "summary": "Client listener for entity CustomerAttributeValueChangeEvent", "description": "Example of a client listener for receiving the notification CustomerAttributeValueChangeEvent", "operationId": "listenToCustomerAttributeValueChangeEvent", "requestBody": { "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/CustomerAttributeValueChangeEvent" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "400": { "description": "Bad Request", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } } } } }, "/customerManagement/v4/hub": { "post": { "tags": [ "hub", "events subscription" ], "summary": "Register a listener", "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", "operationId": "registerListener629", "requestBody": { "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscriptionInput" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "400": { "description": "Subscribed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } } } } }, "/customerManagement/v4/customer": { "get": { "tags": [ "customer" ], "summary": "List or find Customer objects", "description": "This operation list or find Customer entities", "operationId": "listCustomer", "parameters": [ { "name": "fields", "in": "query", "description": "Comma-separated properties to be provided in response", "required": false, "schema": { "type": "string" } }, { "name": "offset", "in": "query", "description": "Requested index for start of resources to be provided in response", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "limit", "in": "query", "description": "Requested number of resources to be provided in response", "required": false, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Customer" } } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Customer" } } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Customer" } } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Customer" } } } } }, "400": { "description": "Bad Request", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Customer" } } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Customer" } } } } }, "200": { "description": "Success", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Customer" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Customer" } } } } } } }, "post": { "tags": [ "customer" ], "summary": "Creates a Customer", "description": "This operation creates a Customer entity.", "operationId": "createCustomer", "requestBody": { "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/CustomerCreate" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "400": { "description": "Created", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } } } } }, "/customerManagement/v4/customer/{id}": { "get": { "tags": [ "customer" ], "summary": "Retrieves a Customer by ID", "description": "This operation retrieves a Customer entity. Attribute selection is enabled for all first level attributes.", "operationId": "retrieveCustomer", "parameters": [ { "name": "id", "in": "path", "description": "Identifier of the Customer", "required": true, "schema": { "type": "string" } }, { "name": "fields", "in": "query", "description": "Comma-separated properties to provide in response", "required": false, "schema": { "type": "string" } } ], "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "400": { "description": "Bad Request", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "200": { "description": "Success", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } } } }, "delete": { "tags": [ "customer" ], "summary": "Deletes a Customer", "description": "This operation deletes a Customer entity.", "operationId": "deleteCustomer", "parameters": [ { "name": "id", "in": "path", "description": "Identifier of the Customer", "required": true, "schema": { "type": "string" } } ], "responses": { "500": { "description": "Internal Server Error" }, "204": { "description": "Deleted" }, "409": { "description": "Conflict" }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "400": { "description": "Bad Request" }, "405": { "description": "Method Not allowed" }, "401": { "description": "Unauthorized" } } }, "patch": { "tags": [ "customer" ], "summary": "Updates partially a Customer", "description": "This operation updates partially a Customer entity.", "operationId": "patchCustomer", "parameters": [ { "name": "id", "in": "path", "description": "Identifier of the Customer", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/CustomerUpdate" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "200": { "description": "Updated", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "400": { "description": "Bad Request", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Customer" } } } } } } }, "/customerManagement/v4/hub/{id}": { "delete": { "tags": [ "hub", "events subscription" ], "summary": "Unregister a listener", "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", "operationId": "unregisterListener629", "parameters": [ { "name": "id", "in": "path", "description": "The id of the registered listener", "required": true, "schema": { "type": "string" } } ], "responses": { "500": { "description": "Internal Server Error" }, "400": { "description": "Bad request" }, "204": { "description": "Deleted" }, "405": { "description": "Method not allowed" }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } } } } }, "components": { "schemas": { "AccountRef": { "required": [ "id" ], "type": "object", "properties": { "uuid": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "name": { "type": "string", "description": "Name of the entity" }, "id": { "type": "string", "description": "Unique identifier of the account" }, "description": { "type": "string", "description": "Detailed description of the account" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "description": "Account reference. A account may be a party account or a financial account." }, "AgreementRef": { "required": [ "id" ], "type": "object", "properties": { "uuid": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "name": { "type": "string", "description": "Name of the entity" }, "id": { "type": "string", "description": "Identifier of the agreement" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "description": "Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications." }, "Any": { "type": "object", "properties": { "value": { "type": "string" }, "alias": { "type": "string" } }, "description": "The value of the characteristic" }, "Characteristic": { "required": [ "value" ], "type": "object", "properties": { "uuid": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "name": { "type": "string", "description": "Name of the entity" }, "valueType": { "type": "string", "description": "Data type of the value of the characteristic" }, "value": { "$ref": "#/components/schemas/Any" } }, "description": "Describes a given characteristic of an object or entity through a name/value pair." }, "ContactMedium": { "required": [ "characteristic", "mediumType" ], "type": "object", "properties": { "uuid": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "mediumType": { "type": "string", "description": "Type of the contact medium, such as: email address, telephone number, postal address" }, "preferred": { "type": "boolean", "description": "If true, indicates that is the preferred contact medium" }, "characteristic": { "$ref": "#/components/schemas/MediumCharacteristic" }, "validFor": { "$ref": "#/components/schemas/TimePeriod" } }, "description": "Indicates the contact medium that could be used to contact the party." }, "CreditProfile": { "required": [ "creditProfileDate", "validFor" ], "type": "object", "properties": { "uuid": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "creditProfileDate": { "type": "string", "format": "date-time" }, "creditRiskRating": { "type": "integer", "description": "This is an integer whose value is used to rate the risk", "format": "int32" }, "creditScore": { "type": "integer", "description": "A measure of a person or organizations creditworthiness calculated on the basis of a combination of factors such as their income and credit history", "format": "int32" }, "validFor": { "$ref": "#/components/schemas/TimePeriod" } }, "description": "Credit profile for the party (containing credit scoring, ...). By default only the current credit profile is retrieved. It can be used as a list to give the party credit profiles history, the first one in the list will be the current one." }, "Customer": { "required": [ "engagedParty" ], "type": "object", "properties": { "uuid": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "name": { "type": "string", "description": "Name of the entity" }, "id": { "type": "string", "description": "Unique identifier for Customers" }, "status": { "type": "string", "description": "Used to track the lifecycle status of the customer." }, "statusReason": { "type": "string", "description": "A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection." }, "account": { "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/AccountRef" } }, "agreement": { "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/AgreementRef" } }, "characteristic": { "uniqueItems": true, "type": "array", "description": "Describes the characteristic of a customer.", "items": { "$ref": "#/components/schemas/Characteristic" } }, "contactMedium": { "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/ContactMedium" } }, "creditProfile": { "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/CreditProfile" } }, "engagedParty": { "$ref": "#/components/schemas/RelatedParty" }, "paymentMethod": { "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/PaymentMethodRef" } }, "relatedParty": { "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/RelatedParty" } }, "validFor": { "$ref": "#/components/schemas/TimePeriod" } }, "description": "The involved resource data for the event" }, "CustomerStateChangeEvent": { "type": "object", "properties": { "id": { "type": "string", "description": "Identifier of the resource involved in the event" }, "href": { "type": "string", "description": "Reference of the resource involved in the event" }, "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time" }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explanatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time" }, "event": { "$ref": "#/components/schemas/CustomerStateChangeEventPayload" } }, "description": "The event data" }, "CustomerStateChangeEventPayload": { "type": "object", "properties": { "customer": { "$ref": "#/components/schemas/Customer" } }, "description": "The event data structure" }, "MediumCharacteristic": { "type": "object", "properties": { "uuid": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "city": { "type": "string", "description": "The city" }, "contactType": { "type": "string", "description": "The type of contact, for example: phone number such as mobile, fixed home, fixed office. postal address such as shipping instalation\u2026" }, "country": { "type": "string", "description": "The country" }, "emailAddress": { "type": "string", "description": "Full email address in standard format" }, "faxNumber": { "type": "string", "description": "The fax number of the contact" }, "phoneNumber": { "type": "string", "description": "The primary phone number of the contact" }, "postCode": { "type": "string", "description": "Postcode" }, "socialNetworkId": { "type": "string", "description": "Identifier as a member of a social network" }, "stateOrProvince": { "type": "string", "description": "State or province" }, "street1": { "type": "string", "description": "Describes the street" }, "street2": { "type": "string", "description": "Complementary street description" } }, "description": "Describes the contact medium characteristics that could be used to contact a party (an individual or an organization)" }, "PaymentMethodRef": { "required": [ "id" ], "type": "object", "properties": { "uuid": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "name": { "type": "string", "description": "Name of the entity" }, "id": { "type": "string", "description": "Unique identifier of the payment mean" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "description": "PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit)." }, "RelatedParty": { "type": "object", "properties": { "uuid": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "name": { "type": "string", "description": "Name of the entity" }, "role": { "type": "string", "description": "Role of the related party." }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." }, "id": { "type": "string" }, "extendedInfo": { "type": "string" } }, "description": "RelatedParty reference. A related party defines party or party role linked to a specific entity." }, "TimePeriod": { "type": "object", "properties": { "endDateTime": { "type": "string", "description": "End of the time period, using IETC-RFC-3339 format" }, "startDateTime": { "type": "string", "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end" } }, "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both" }, "EventSubscription": { "required": [ "callback", "id" ], "type": "object", "properties": { "id": { "type": "string", "description": "Id of the listener" }, "callback": { "type": "string", "description": "The callback being registered." }, "query": { "type": "string", "description": "additional data to be passed" } }, "description": "Sets the communication endpoint address the service instance must use to deliver notification information" }, "CustomerDeleteEvent": { "type": "object", "properties": { "id": { "type": "string", "description": "Identifier of the resource involved in the event" }, "href": { "type": "string", "description": "Reference of the resource involved in the event" }, "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time" }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explanatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time" }, "event": { "$ref": "#/components/schemas/CustomerDeleteEventPayload" } }, "description": "The event data" }, "CustomerDeleteEventPayload": { "type": "object", "properties": { "customer": { "$ref": "#/components/schemas/Customer" } }, "description": "The event data structure" }, "CustomerCreateEvent": { "type": "object", "properties": { "eventTime": { "type": "string", "description": "Time of the event occurrence." }, "id": { "type": "string", "description": "Identifier of the resource involved in the event" }, "href": { "type": "string", "description": "Reference of the resource involved in the event" }, "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explanatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time" }, "event": { "$ref": "#/components/schemas/CustomerCreateEventPayload" } }, "description": "The event data" }, "CustomerCreateEventPayload": { "type": "object", "properties": { "customer": { "$ref": "#/components/schemas/Customer" } }, "description": "The event data structure" }, "CustomerAttributeValueChangeEvent": { "type": "object", "properties": { "eventTime": { "type": "string", "description": "Time of the event occurrence." }, "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explanatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time" }, "fieldPath": { "type": "string", "description": "The path identifying the object field concerned by this notification." }, "event": { "$ref": "#/components/schemas/CustomerAttributeValueChangeEventPayload" } }, "description": "The event data" }, "CustomerAttributeValueChangeEventPayload": { "type": "object", "properties": { "customer": { "$ref": "#/components/schemas/Customer" } }, "description": "The event data structure" }, "EventSubscriptionInput": { "required": [ "callback" ], "type": "object", "properties": { "callback": { "type": "string", "description": "The callback being registered." }, "query": { "type": "string", "description": "additional data to be passed" } }, "description": "Data containing the callback endpoint to deliver the information" }, "CustomerCreate": { "required": [ "engagedParty" ], "type": "object", "properties": { "name": { "type": "string", "description": "A word, term, or phrase by which the Customer is known and distinguished from other Customers." }, "status": { "type": "string", "description": "Used to track the lifecycle status of the customer." }, "statusReason": { "type": "string", "description": "A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection." }, "account": { "type": "array", "items": { "$ref": "#/components/schemas/AccountRef" } }, "agreement": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementRef" } }, "characteristic": { "type": "array", "description": "Describes the characteristic of a customer.", "items": { "$ref": "#/components/schemas/Characteristic" } }, "contactMedium": { "type": "array", "items": { "$ref": "#/components/schemas/ContactMedium" } }, "creditProfile": { "type": "array", "items": { "$ref": "#/components/schemas/CreditProfile" } }, "engagedParty": { "$ref": "#/components/schemas/RelatedParty" }, "paymentMethod": { "type": "array", "items": { "$ref": "#/components/schemas/PaymentMethodRef" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedParty" } }, "validFor": { "$ref": "#/components/schemas/TimePeriod" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } }, "description": "The Customer to be created" }, "CustomerUpdate": { "required": [ "engagedParty" ], "type": "object", "properties": { "name": { "type": "string", "description": "A word, term, or phrase by which the Customer is known and distinguished from other Customers." }, "status": { "type": "string", "description": "Used to track the lifecycle status of the customer." }, "statusReason": { "type": "string", "description": "A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection." }, "account": { "type": "array", "items": { "$ref": "#/components/schemas/AccountRef" } }, "agreement": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementRef" } }, "characteristic": { "type": "array", "description": "Describes the characteristic of a customer.", "items": { "$ref": "#/components/schemas/Characteristic" } }, "contactMedium": { "type": "array", "items": { "$ref": "#/components/schemas/ContactMedium" } }, "creditProfile": { "type": "array", "items": { "$ref": "#/components/schemas/CreditProfile" } }, "engagedParty": { "$ref": "#/components/schemas/RelatedParty" }, "paymentMethod": { "type": "array", "items": { "$ref": "#/components/schemas/PaymentMethodRef" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedParty" } }, "validFor": { "$ref": "#/components/schemas/TimePeriod" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } }, "description": "The Customer to be updated" } }, "securitySchemes": { "security_auth": { "type": "oauth2", "scheme": "bearer", "bearerFormat": "JWT", "flows": { "authorizationCode": { "authorizationUrl": "https://portal.openslice.eu/auth/realms/openslice/protocol/openid-connect/auth", "tokenUrl": "https://portal.openslice.eu/auth/realms/openslice/protocol/openid-connect/token", "scopes": { "read": "read scope", "write": "write scope" } } } } } } }