{ "openapi": "3.0.1", "info": { "title": "TMF 651 - Agreement Management ", "description": "This is Swagger UI environment generated for the TMF Agreement Management specification", "license": { "name": "Apache 2.0", "url": "https://osl.etsi.org" }, "version": "2.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": "agreement", "description": "the agreement API" }, { "name": "agreementSpecification", "description": "the agreementSpecification API" }, { "name": "hub", "description": "the hub API" } ], "paths": { "/agreementManagement/v2/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": "registerListener", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventSubscriptionInput" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "400": { "description": "Subscribed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } } } } }, "/agreementManagement/v2/agreement": { "get": { "tags": [ "agreement" ], "summary": "List or find 'Agreement' objects", "operationId": "listAgreement", "parameters": [ { "name": "fields", "in": "query", "description": "Comma separated properties to display 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": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } }, "200": { "description": "Ok", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } }, "405": { "description": "Method Not allowed", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } } } }, "post": { "tags": [ "agreement" ], "summary": "Creates a 'Agreement'", "operationId": "createAgreement", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementCreate" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Agreement" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Agreement" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Agreement" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Agreement" } } } }, "400": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Agreement" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Agreement" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Agreement" } } } } } } }, "/agreementManagement/v2/agreementSpecification": { "get": { "tags": [ "agreementSpecification" ], "summary": "List or find 'AgreementSpecification' objects", "operationId": "listAgreementSpecification", "parameters": [ { "name": "fields", "in": "query", "description": "Comma separated properties to display 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": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } }, "200": { "description": "Ok", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } }, "405": { "description": "Method Not allowed", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } } } }, "post": { "tags": [ "agreementSpecification" ], "summary": "Creates a 'AgreementSpecification'", "operationId": "createAgreementSpecification", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecificationCreate" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecification" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecification" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecification" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecification" } } } }, "400": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecification" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecification" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecification" } } } } } } }, "/agreementManagement/v2/agreementSpecification/{id}": { "get": { "tags": [ "agreementSpecification" ], "summary": "Retrieves a 'AgreementSpecification' by Id", "operationId": "retrieveAgreementSpecification", "parameters": [ { "name": "id", "in": "path", "description": "Identifier of the Agreement Specification", "required": true, "schema": { "type": "string" } } ], "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } }, "200": { "description": "Ok", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } }, "405": { "description": "Method Not allowed", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecification" } } } } } } }, "delete": { "tags": [ "agreementSpecification" ], "summary": "Deletes a 'AgreementSpecification' by Id", "operationId": "deleteAgreementSpecification", "parameters": [ { "name": "id", "in": "path", "description": "Identifier of the Agreement Specification", "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": [ "agreementSpecification" ], "summary": "Updates partially a 'AgreementSpecification' by Id", "operationId": "patchAgreementSpecification", "parameters": [ { "name": "id", "in": "path", "description": "Identifier of the Agreement Specification", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecificationUpdate" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecification" } } } }, "200": { "description": "Updated", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecification" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecification" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecification" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecification" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecification" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecification" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementSpecification" } } } } } } }, "/agreementManagement/v2/agreement/{id}": { "get": { "tags": [ "agreement" ], "summary": "Retrieves a 'Agreement' by Id", "operationId": "retrieveAgreement", "parameters": [ { "name": "id", "in": "path", "description": "Identifier of the Agreement", "required": true, "schema": { "type": "string" } } ], "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } }, "200": { "description": "Ok", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } }, "405": { "description": "Method Not allowed", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Agreement" } } } } } } }, "delete": { "tags": [ "agreement" ], "summary": "Deletes a 'Agreement' by Id", "operationId": "deleteAgreement", "parameters": [ { "name": "id", "in": "path", "description": "Identifier of the Agreement", "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": [ "agreement" ], "summary": "Updates partially a 'Agreement' by Id", "operationId": "patchAgreement", "parameters": [ { "name": "id", "in": "path", "description": "Identifier of the Agreement", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementUpdate" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Agreement" } } } }, "200": { "description": "Updated", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Agreement" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Agreement" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Agreement" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Agreement" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Agreement" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Agreement" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Agreement" } } } } } } }, "/agreementManagement/v2/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": "unregisterListener", "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": { "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" }, "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" } } }, "AgreementAuthorization": { "type": "object", "properties": { "date": { "type": "string", "format": "date-time" }, "signatureRepresentation": { "type": "string", "description": "Indication that represents whether the signature is a physical paper signature or a digital signature." }, "state": { "type": "string", "description": "Current status of the authorization, for example in process, approved, rejected." }, "@type": { "type": "string", "description": "The class type of the actual resource (for type extension)." } }, "description": "A business participant that is responsible for approving the agreement." }, "AgreementCreate": { "required": [ "agreementItem", "engagedPartyRole", "name", "type" ], "type": "object", "properties": { "agreementPeriod": { "$ref": "#/components/schemas/TimePeriod" }, "completionDate": { "$ref": "#/components/schemas/TimePeriod" }, "description": { "type": "string", "description": "Narrative that explains the agreement and details about the it , such as why the agreement is taking place." }, "documentNumber": { "type": "integer", "description": "A reference number assigned to an Agreement that follows a prescribed numbering system.", "format": "int32" }, "initialDate": { "type": "string", "format": "date-time" }, "name": { "type": "string", "description": "A human-readable name for the agreement" }, "statementOfIntent": { "type": "string", "description": "An overview and goals of the Agreement." }, "status": { "type": "string", "description": "The current status of the agreement. Typical values are: in process, approved and rejected." }, "type": { "type": "string", "description": "The type of the agreement. For example \"commercial\"." }, "version": { "type": "string", "description": "A string identifying the version of the agreement." }, "agreementSpecification": { "$ref": "#/components/schemas/AgreementSpecificationRef" }, "agreementItem": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementItem" } }, "engagedPartyRole": { "type": "array", "items": { "$ref": "#/components/schemas/PartyRoleRef" } }, "agreementAuthorization": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementAuthorization" } }, "characteristic": { "type": "array", "items": { "$ref": "#/components/schemas/Characteristic" } }, "associatedAgreement": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementRef" } }, "@type": { "type": "string", "description": "The class type of the actual resource (for type extension)." }, "@schemaLocation": { "type": "string", "description": "A link to the schema describing a resource (for type extension)." }, "@baseType": { "type": "string", "description": "The base type for use in polymorphic collections" } }, "description": "The Agreement to be created" }, "AgreementItem": { "type": "object", "properties": { "productOffering": { "type": "array", "items": { "$ref": "#/components/schemas/ProductOfferingRef" } }, "termOrCondition": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementTermOrCondition" } }, "@type": { "type": "string", "description": "The class type of the actual resource (for type extension)." } }, "description": "A part of the agreement expressed in terms of a product offering and possibly including specific terms and conditions." }, "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." }, "AgreementSpecificationRef": { "type": "object", "properties": { "description": { "type": "string", "description": "A narrative that explains in detail what the agreement specification is about." }, "href": { "type": "string", "description": "Reference URL of the agreement specification" }, "id": { "type": "string", "description": "Unique identifier of the agreement specification" }, "name": { "type": "string", "description": "Name of the agreement specification" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "description": "AgreementSpecification reference. An AgreementSpecification represents a template of an agreement that can be used when establishing partnerships." }, "AgreementTermOrCondition": { "type": "object", "properties": { "description": { "type": "string", "description": "Text that explains the term or condition of the agreement." }, "id": { "type": "string", "description": "Unique number assigned for reference." }, "validFor": { "$ref": "#/components/schemas/TimePeriod" }, "@type": { "type": "string", "description": "The class type of the actual resource (for type extension)." } }, "description": "Aspects of the agreement not formally specified elsewhere in the agreement and that cannot be captured elsewhere in a formal notation, or automatically monitored and require a more human level of management." }, "Characteristic": { "required": [ "value" ], "type": "object", "properties": { "uuid": { "type": "string" }, "value": { "type": "object", "description": "The value of the characteristic" }, "@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" } }, "description": "Describes a given characteristic of an object or entity through a name/value pair." }, "PartyRoleRef": { "required": [ "id", "name" ], "type": "object", "properties": { "href": { "type": "string", "description": "Reference of the product" }, "id": { "type": "string", "description": "Unique identifier of the product" }, "name": { "type": "string", "description": "The name of the referred party role." }, "partyId": { "type": "string", "description": "The identifier of the engaged party that is linked to the PartyRole object." }, "partyName": { "type": "string", "description": "The name of the engaged party that is linked to the PartyRole object." }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "description": "Party role reference. A party role represents the part played by a party in a given context." }, "ProductOfferingRef": { "required": [ "id" ], "type": "object", "properties": { "@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 a related entity." }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "description": "ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information." }, "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" }, "Agreement": { "required": [ "name" ], "type": "object", "properties": { "agreementPeriod": { "$ref": "#/components/schemas/TimePeriod" }, "completionDate": { "$ref": "#/components/schemas/TimePeriod" }, "description": { "type": "string", "description": "Narrative that explains the agreement and details about the it , such as why the agreement is taking place." }, "documentNumber": { "type": "integer", "description": "A reference number assigned to an Agreement that follows a prescribed numbering system.", "format": "int32" }, "href": { "type": "string", "description": "Unique url identifying the agreement as a resource" }, "id": { "type": "string", "description": "Unique identifier for the agreement" }, "initialDate": { "type": "string", "format": "date-time" }, "name": { "type": "string", "description": "A human-readable name for the agreement" }, "statementOfIntent": { "type": "string", "description": "An overview and goals of the Agreement." }, "status": { "type": "string", "description": "The current status of the agreement. Typical values are: in process, approved and rejected." }, "type": { "type": "string", "description": "The type of the agreement. For example \"commercial\"." }, "version": { "type": "string", "description": "A string identifying the version of the agreement." }, "agreementSpecification": { "$ref": "#/components/schemas/AgreementSpecificationRef" }, "agreementItem": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementItem" } }, "engagedPartyRole": { "type": "array", "items": { "$ref": "#/components/schemas/PartyRoleRef" } }, "agreementAuthorization": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementAuthorization" } }, "characteristic": { "type": "array", "items": { "$ref": "#/components/schemas/Characteristic" } }, "associatedAgreement": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementRef" } }, "@type": { "type": "string", "description": "The class type of the actual resource (for type extension)." }, "@schemaLocation": { "type": "string", "description": "A link to the schema describing a resource (for type extension)." }, "@baseType": { "type": "string", "description": "The base type for use in polymorphic collections" } }, "description": "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." }, "AgreementAttachment": { "type": "object", "properties": { "href": { "type": "string", "description": "Reference of the attachment" }, "id": { "type": "string", "description": "Unique identifier of the attachment" }, "type": { "type": "string", "description": "Attachment type such as video, picture" }, "url": { "type": "string", "description": "Uniform Resource Locator, is a web page address (a subset of URI)" }, "@type": { "type": "string", "description": "The class type of the actual resource (for type extension)." } }, "description": "Represents a complementary piece of information to describe the agreement. Could be a document, picture, a video or any kind of multimedia content." }, "AgreementSpecCharacteristic": { "type": "object", "properties": { "configurable": { "type": "boolean", "description": "If true, the Boolean indicates that the characteristic is configurable" }, "description": { "type": "string", "description": "A narrative that explains in detail what the characteristic is" }, "name": { "type": "string", "description": "Name of the characteristic being specified." }, "validFor": { "$ref": "#/components/schemas/TimePeriod" }, "valueType": { "type": "string", "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth" }, "specCharacteristicValue": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecCharacteristicValue" } }, "@type": { "type": "string", "description": "The class type of the actual resource (for type extension)." }, "@schemaLocation": { "type": "string", "description": "A link to the schema describing a resource (for type extension)." } }, "description": "A characteristic quality or distinctive feature of an agreement." }, "AgreementSpecCharacteristicValue": { "type": "object", "properties": { "default": { "type": "boolean", "description": "Indicates if the value is the default value for a characteristic" }, "unitOfMeasure": { "type": "string", "description": "Unit of measure for the characteristic, such as minutes, gigabytes (GB) and so on." }, "validFor": { "$ref": "#/components/schemas/TimePeriod" }, "value": { "type": "string", "description": "A discrete value that the characteristic can take on" }, "valueFrom": { "type": "string", "description": "The low range value that a characteristic can take on" }, "valueTo": { "type": "string", "description": "The upper range value that a characteristic can take on" }, "valueType": { "type": "string", "description": "A kind of value that the characteristic can take on, such as numeric, text, and so forth" }, "@type": { "type": "string", "description": "The class type of the actual resource (for type extension)." } }, "description": "A number or text that can be assigned to an agreement specification characteristic." }, "AgreementSpecificationCreate": { "required": [ "attachment", "name" ], "type": "object", "properties": { "description": { "type": "string", "description": "A narrative that explains in detail what the agreement specification is about." }, "isBundle": { "type": "boolean", "description": "Indicates that this agreement specification is a grouping of other agreement specifications. The list of bundled agreement specifications is provided via the specificationRelationship property." }, "lastUpdate": { "type": "string", "format": "date-time" }, "lifecycleStatus": { "type": "string", "description": "Indicates the current lifecycle status" }, "name": { "type": "string", "description": "Name of the agreement specification" }, "validFor": { "$ref": "#/components/schemas/TimePeriod" }, "version": { "type": "string", "description": "Agreement specification version" }, "serviceCategory": { "$ref": "#/components/schemas/CategoryRef" }, "specCharacteristic": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecCharacteristic" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedPartyRef" } }, "attachment": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementAttachment" } }, "specificationRelationship": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecificationRelationship" } }, "@type": { "type": "string", "description": "The class type of the actual resource (for type extension)." }, "@schemaLocation": { "type": "string", "description": "A link to the schema describing a resource (for type extension)." }, "@baseType": { "type": "string", "description": "The base type for use in polymorphic collections" } }, "description": "The Agreement Specification to be created" }, "AgreementSpecificationRelationship": { "type": "object", "properties": { "href": { "type": "string", "description": "Reference of an agreement specification." }, "id": { "type": "string", "description": "Unique identifier of the related agreement specification." }, "type": { "type": "string", "description": "Type of relationship such as, substitution or dependency." }, "validFor": { "$ref": "#/components/schemas/TimePeriod" }, "@type": { "type": "string", "description": "The class type of the actual resource (for type extension)." } }, "description": "A relationship between agreement specifications. Typical relationships are substitution and dependency." }, "CategoryRef": { "type": "object", "properties": { "href": { "type": "string", "description": "Hypertext Reference of the category" }, "id": { "type": "string", "description": "Unique identifier of category" }, "name": { "type": "string", "description": "Name of the category." }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "description": "The category for grouping recommendations" }, "RelatedPartyRef": { "type": "object", "properties": { "href": { "type": "string", "description": "Reference of the related party, could be a party reference or a party role reference" }, "id": { "type": "string", "description": "Unique identifier of a related party" }, "name": { "type": "string", "description": "Name of the related party" }, "role": { "type": "string", "description": "Role of the related party." }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "description": "RelatedParty reference. A related party defines party or party role linked to a specific entity." }, "AgreementSpecification": { "required": [ "name" ], "type": "object", "properties": { "description": { "type": "string", "description": "A narrative that explains in detail what the agreement specification is about." }, "href": { "type": "string", "description": "Reference of the agreement specification" }, "id": { "type": "string", "description": "Unique identifier of the agreement specification" }, "isBundle": { "type": "boolean", "description": "Indicates that this agreement specification is a grouping of other agreement specifications. The list of bundled agreement specifications is provided via the specificationRelationship property." }, "lastUpdate": { "type": "string", "format": "date-time" }, "lifecycleStatus": { "type": "string", "description": "Indicates the current lifecycle status" }, "name": { "type": "string", "description": "Name of the agreement specification" }, "validFor": { "$ref": "#/components/schemas/TimePeriod" }, "version": { "type": "string", "description": "Agreement specification version" }, "serviceCategory": { "$ref": "#/components/schemas/CategoryRef" }, "specCharacteristic": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecCharacteristic" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedPartyRef" } }, "attachment": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementAttachment" } }, "specificationRelationship": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecificationRelationship" } }, "@type": { "type": "string", "description": "The class type of the actual resource (for type extension)." }, "@schemaLocation": { "type": "string", "description": "A link to the schema describing a resource (for type extension)." }, "@baseType": { "type": "string", "description": "The base type for use in polymorphic collections" } }, "description": "A template of an agreement that can be used when establishing partnerships." }, "AgreementSpecificationUpdate": { "type": "object", "properties": { "description": { "type": "string", "description": "A narrative that explains in detail what the agreement specification is about." }, "isBundle": { "type": "boolean", "description": "Indicates that this agreement specification is a grouping of other agreement specifications. The list of bundled agreement specifications is provided via the specificationRelationship property." }, "lastUpdate": { "type": "string", "format": "date-time" }, "lifecycleStatus": { "type": "string", "description": "Indicates the current lifecycle status" }, "name": { "type": "string", "description": "Name of the agreement specification" }, "validFor": { "$ref": "#/components/schemas/TimePeriod" }, "version": { "type": "string", "description": "Agreement specification version" }, "serviceCategory": { "$ref": "#/components/schemas/CategoryRef" }, "specCharacteristic": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecCharacteristic" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedPartyRef" } }, "attachment": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementAttachment" } }, "specificationRelationship": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementSpecificationRelationship" } }, "@type": { "type": "string", "description": "The class type of the actual resource (for type extension)." }, "@schemaLocation": { "type": "string", "description": "A link to the schema describing a resource (for type extension)." }, "@baseType": { "type": "string", "description": "The base type for use in polymorphic collections" } }, "description": "The Agreement Specification to be updated" }, "AgreementUpdate": { "type": "object", "properties": { "agreementPeriod": { "$ref": "#/components/schemas/TimePeriod" }, "description": { "type": "string", "description": "Narrative that explains the agreement and details about the it , such as why the agreement is taking place." }, "documentNumber": { "type": "integer", "description": "A reference number assigned to an Agreement that follows a prescribed numbering system.", "format": "int32" }, "initialDate": { "type": "string", "format": "date-time" }, "name": { "type": "string", "description": "A human-readable name for the agreement" }, "statementOfIntent": { "type": "string", "description": "An overview and goals of the Agreement." }, "status": { "type": "string", "description": "The current status of the agreement. Typical values are: in process, approved and rejected." }, "type": { "type": "string", "description": "The type of the agreement. For example \"commercial\"." }, "version": { "type": "string", "description": "A string identifying the version of the agreement." }, "agreementSpecification": { "$ref": "#/components/schemas/AgreementSpecificationRef" }, "agreementItem": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementItem" } }, "engagedPartyRole": { "type": "array", "items": { "$ref": "#/components/schemas/PartyRoleRef" } }, "agreementAuthorization": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementAuthorization" } }, "characteristic": { "type": "array", "items": { "$ref": "#/components/schemas/Characteristic" } }, "associatedAgreement": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementRef" } }, "@type": { "type": "string", "description": "The class type of the actual resource (for type extension)." }, "@schemaLocation": { "type": "string", "description": "A link to the schema describing a resource (for type extension)." }, "@baseType": { "type": "string", "description": "The base type for use in polymorphic collections" } }, "description": "The Agreement 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" } } } } } } }