openapi: 3.2.0 info: title: Logius Manager API version: 1.0.0 description: 'Operations tagged manager across 2 of this provider''s published API definitions: logius-fsc-manager-openapi.yml, logius-fsc-manager-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://{managerUrl}:8443/v1 variables: managerUrl: default: localhost description: URL of the Manager tags: - name: Manager paths: /contracts/{hash}/reject: put: summary: Reject contract operationId: rejectContract tags: - Manager parameters: - $ref: '#/components/parameters/headerFscManagerAddress' - $ref: '#/components/parameters/pathContractContentHash' requestBody: $ref: '#/components/requestBodies/signatureRequest' responses: 201: description: Signature created 422: description: Unprocessable content headers: Fsc-Error-Code: $ref: '#/components/headers/FscErrorCode' content: application/json: schema: $ref: '#/components/schemas/error' examples: signatureContentMismatch: $ref: '#/components/examples/signatureContentMismatch' peerIDSignatureMismatch: $ref: '#/components/examples/peerIDSignatureMismatch' signatureVerificationFailed: $ref: '#/components/examples/signatureVerificationFailed' 400: description: Bad request headers: Fsc-Error-Code: $ref: '#/components/headers/FscErrorCode' content: application/json: schema: $ref: '#/components/schemas/error' examples: peerCertificateVerificationFailed: $ref: '#/components/examples/peerCertificateVerificationFailed' servers: - url: https://{managerUrl}:8443/v1 variables: managerUrl: default: localhost description: URL of the Manager /contracts/{hash}/revoke: put: summary: Revoke contract operationId: revokeContract tags: - Manager parameters: - $ref: '#/components/parameters/headerFscManagerAddress' - $ref: '#/components/parameters/pathContractContentHash' requestBody: $ref: '#/components/requestBodies/signatureRequest' responses: 201: description: Signature created 422: description: Unprocessable content headers: Fsc-Error-Code: $ref: '#/components/headers/FscErrorCode' content: application/json: schema: $ref: '#/components/schemas/error' examples: signatureContentMismatch: $ref: '#/components/examples/signatureContentMismatch' peerIDSignatureMismatch: $ref: '#/components/examples/peerIDSignatureMismatch' signatureVerificationFailed: $ref: '#/components/examples/signatureVerificationFailed' 400: description: Bad request headers: Fsc-Error-Code: $ref: '#/components/headers/FscErrorCode' content: application/json: schema: $ref: '#/components/schemas/error' examples: peerCertificateVerificationFailed: $ref: '#/components/examples/peerCertificateVerificationFailed' servers: - url: https://{managerUrl}:8443/v1 variables: managerUrl: default: localhost description: URL of the Manager /peer: get: summary: Returns info about the Peer who is providing the Manager operationId: getPeerInfo tags: - Manager responses: 200: description: Information about the Peer content: application/json: schema: type: object properties: peer_id: $ref: '#/components/schemas/peerID' peer_name: $ref: '#/components/schemas/peerName' fsc_version: $ref: '#/components/schemas/fscVersion' enabled_extensions: $ref: '#/components/schemas/enabledExtensions' required: - peer_id - peer_name - fsc_version - enabled_extensions servers: - url: https://{managerUrl}:8443/v1 variables: managerUrl: default: localhost description: URL of the Manager components: examples: peerIDSignatureMismatch: summary: Peer ID does not match signature value: code: ERROR_CODE_PEER_ID_SIGNATURE_MISMATCH message: peer id '0001' does not match signature peer id '0002' domain: ERROR_DOMAIN_MANAGER signatureVerificationFailed: summary: Signature verification failed value: code: ERROR_CODE_SIGNATURE_VERIFICATION_FAILED message: unable to retrieve certificate with thumbprint 'h_CeVoeJ5vdaFGzNYPqiKWnGtDKB9UvIa_uk5Yvm7gs' from manager of peer '0001' domain: ERROR_DOMAIN_MANAGER peerCertificateVerificationFailed: summary: Peer certificate verification failed value: code: ERROR_CODE_PEER_CERTIFICATE_VERIFICATION_FAILED message: the peer id '0001' is in a incorrect format domain: ERROR_DOMAIN_MANAGER signatureContentMismatch: summary: Signature Contract content mismatch value: code: ERROR_CODE_SIGNATURE_CONTRACT_CONTENT_HASH_MISMATCH message: signature contract content hash '$1$1$ouqPHvHP9-ZDKo4YDNz4GGYENOQQ80knSVg6lJ_MjaTLE_o3GgD1Vzyzteu791X0rkX6FvlJzyBYdZuD6hlWrQ' does not match the contract content hash '$1$1$rrvHPvHP9-ZDKo4YDNz4GGYENOQQ80knSVg6lJ_MjaTLE_o3GgD1Vzyzteu791X0rkX6FvlJzyBYdZuD6hlrfL' domain: ERROR_DOMAIN_MANAGER schemas: fscVersion: description: The version of the FSC specification type: string enum: - 1.0.0 outwayIdentificationDomainName: description: The details of the Outway based on a domain name for which a connection was authorized type: object properties: type: $ref: '#/components/schemas/outwayIdentificationType' domain_name: $ref: '#/components/schemas/domainName' required: - type - domain_name hashAlgorithm: description: The hashing algorithm type: string enum: - HASH_ALGORITHM_SHA3_512 loggingVersion: description: The version of the Logging extension type: string enum: - 1.0.0 peerID: description: The ID of a Peer type: string example: '12345678901234567891' minLength: 3 maxLength: 255 inwayErrorsCode: description: Error reasons that can be produced by the Inway type: string enum: - ERROR_CODE_ACCESS_TOKEN_MISSING - ERROR_CODE_ACCESS_TOKEN_INVALID - ERROR_CODE_ACCESS_TOKEN_EXPIRED - ERROR_CODE_SERVICE_NOT_FOUND - ERROR_CODE_SERVICE_UNREACHABLE - ERROR_CODE_WRONG_GROUP_ID_IN_TOKEN domainName: description: A domain name according to RFC 1035 type: string minLength: 1 maxLength: 255 example: example.com validity: type: object properties: not_before: description: A Unix timestamp, the Contract is not valid before this date. type: integer format: int64 example: 1672527600 minimum: 0 not_after: description: A Unix timestamp, the Contract is not valid after this date. type: integer format: int64 example: 1704063600 minimum: 0 required: - not_before - not_after grantServiceConnection: description: A ServiceConnectionGrant type: object properties: type: $ref: '#/components/schemas/grantType' outway: $ref: '#/components/schemas/outway' service: oneOf: - $ref: '#/components/schemas/service' - $ref: '#/components/schemas/delegatedService' discriminator: propertyName: type mapping: SERVICE_TYPE_SERVICE: '#/components/schemas/service' SERVICE_TYPE_DELEGATED_SERVICE: '#/components/schemas/delegatedService' properties: description: Optional JSON object with arbitrary key-value pairs additionalProperties: true type: object required: - type - outway - service enabledExtensions: type: object description: A map of extensions and versions properties: EXTENSION_DELEGATION: $ref: '#/components/schemas/delegationVersion' EXTENSION_TRANSACTION_LOGGING: $ref: '#/components/schemas/loggingVersion' example: EXTENSION_DELEGATION: 1.0.0 EXTENSION_TRANSACTION_LOGGING: 1.0.0 servicePublication: description: The details of a Service publication type: object properties: peer_id: $ref: '#/components/schemas/peerID' name: $ref: '#/components/schemas/serviceName' protocol: $ref: '#/components/schemas/protocol' required: - name - peer_id - protocol delegatedService: description: The details of a Service that is offered on behalf of another Peer type: object properties: type: $ref: '#/components/schemas/serviceType' peer_id: $ref: '#/components/schemas/peerID' name: $ref: '#/components/schemas/serviceName' delegator: $ref: '#/components/schemas/delegator' required: - type - peer_id - name - delegator errorCode: description: A unique code specifying the error type: string oneOf: - $ref: '#/components/schemas/inwayErrorsCode' - $ref: '#/components/schemas/outwayErrorCode' - $ref: '#/components/schemas/managerErrorCode' outwayErrorCode: description: Error reasons that can be produced by the Outway type: string enum: - ERROR_CODE_METHOD_UNSUPPORTED serviceType: description: The type of Service type: string enum: - SERVICE_TYPE_SERVICE - SERVICE_TYPE_DELEGATED_SERVICE contractContent: description: The content of a Contract type: object properties: fsc_version: description: The version of the FSC specification that the Contract adheres to. type: string example: 1.0.0 iv: description: An Initialization vector for the Contract. Must be an UUID. type: string example: 06338364-8305-7b74-8000-de4963503139 minLength: 36 maxLength: 36 group_id: description: The FSC Group ID type: string example: example.fsc.com validity: $ref: '#/components/schemas/validity' grants: description: The Grants of the Contract type: array items: $ref: '#/components/schemas/grant' hash_algorithm: $ref: '#/components/schemas/hashAlgorithm' created_at: description: A Unix timestamp of the creation date of the Contract type: integer format: int64 example: 1672527600 minimum: 0 required: - fsc_version - iv - group_id - validity - grants - hash_algorithm - created_at directory: description: The details of the Directory type: object properties: peer_id: $ref: '#/components/schemas/peerID' required: - peer_id publicKeyThumbprint: description: The SHA-256 thumbprint of the public key used in the certificate of the Outway in HEX-encoded format type: string example: 3a56f2e9269ac63f0d4394c46b96539da1625b6a985d38029ff89f34e490960c maxLength: 64 minLength: 64 grantServicePublication: description: A ServicePublicationGrant type: object properties: type: $ref: '#/components/schemas/grantType' directory: $ref: '#/components/schemas/directory' service: $ref: '#/components/schemas/servicePublication' properties: description: Optional JSON object with arbitrary key-value pairs additionalProperties: true type: object required: - type - directory - service serviceName: description: The name of a service type: string example: random_service_name minLength: 3 maxLength: 255 grantType: description: The type of Grant type: string enum: - GRANT_TYPE_SERVICE_PUBLICATION - GRANT_TYPE_SERVICE_CONNECTION - GRANT_TYPE_DELEGATED_SERVICE_CONNECTION - GRANT_TYPE_DELEGATED_SERVICE_PUBLICATION managerErrorCode: description: Error reasons that can be produced by the Manager type: string enum: - ERROR_CODE_INCORRECT_GROUP_ID - ERROR_CODE_PEER_NOT_PART_OF_CONTRACT - ERROR_CODE_SIGNATURE_CONTRACT_CONTENT_HASH_MISMATCH - ERROR_CODE_PEER_CERTIFICATE_VERIFICATION_FAILED - ERROR_CODE_PEER_ID_SIGNATURE_MISMATCH - ERROR_CODE_SIGNATURE_VERIFICATION_FAILED - ERROR_CODE_GRANT_COMBINATION_NOT_ALLOWED - ERROR_CODE_URL_PATH_CONTENT_HASH_MISMATCH - ERROR_CODE_UNKNOWN_HASH_ALGORITHM_HASH - ERROR_CODE_UNKNOWN_ALGORITHM_SIGNATURE - ERROR_CODE_INCORRECT_PUBLIC_KEY_THUMBPRINT outwayIdentificationType: description: The type of Outway identification type: string enum: - OUTWAY_IDENTIFICATION_TYPE_PUBLIC_KEY_THUMBPRINT - OUTWAY_IDENTIFICATION_TYPE_DOMAIN_NAME protocol: description: application layer protocol supported type: string enum: - PROTOCOL_TCP_HTTP_1.1 - PROTOCOL_TCP_HTTP_2 outwayIdentificationPublicKeyThumbprint: description: The details of the Outway based on a public key thumbprint for which a connection was authorized type: object properties: type: $ref: '#/components/schemas/outwayIdentificationType' public_key_thumbprint: $ref: '#/components/schemas/publicKeyThumbprint' required: - type - public_key_thumbprint grant: description: A Grant type: object required: - data properties: data: description: The details of the Grant oneOf: - $ref: '#/components/schemas/grantServicePublication' - $ref: '#/components/schemas/grantServiceConnection' - $ref: '#/components/schemas/grantDelegatedServiceConnection' - $ref: '#/components/schemas/grantDelegatedServicePublication' discriminator: propertyName: type mapping: GRANT_TYPE_SERVICE_PUBLICATION: '#/components/schemas/grantServicePublication' GRANT_TYPE_SERVICE_CONNECTION: '#/components/schemas/grantServiceConnection' GRANT_TYPE_DELEGATED_SERVICE_CONNECTION: '#/components/schemas/grantDelegatedServiceConnection' GRANT_TYPE_DELEGATED_SERVICE_PUBLICATION: '#/components/schemas/grantDelegatedServicePublication' outway: type: object properties: peer_id: $ref: '#/components/schemas/peerID' identification: oneOf: - $ref: '#/components/schemas/outwayIdentificationDomainName' - $ref: '#/components/schemas/outwayIdentificationPublicKeyThumbprint' discriminator: propertyName: type mapping: OUTWAY_IDENTIFICATION_TYPE_PUBLIC_KEY_THUMBPRINT: '#/components/schemas/outwayIdentificationPublicKeyThumbprint' OUTWAY_IDENTIFICATION_TYPE_DOMAIN_NAME: '#/components/schemas/outwayIdentificationDomainName' required: - peer_id - identification grantDelegatedServiceConnection: description: A DelegatedServiceConnectionGrant type: object properties: type: $ref: '#/components/schemas/grantType' outway: $ref: '#/components/schemas/outway' service: oneOf: - $ref: '#/components/schemas/service' - $ref: '#/components/schemas/delegatedService' discriminator: propertyName: type mapping: SERVICE_TYPE_SERVICE: '#/components/schemas/service' SERVICE_TYPE_DELEGATED_SERVICE: '#/components/schemas/delegatedService' delegator: $ref: '#/components/schemas/delegator' properties: description: Optional JSON object with arbitrary key-value pairs additionalProperties: true type: object required: - type - outway - service - delegator grantDelegatedServicePublication: description: A DelegatedServicePublicationGrant type: object properties: type: $ref: '#/components/schemas/grantType' directory: $ref: '#/components/schemas/directory' service: $ref: '#/components/schemas/servicePublication' delegator: $ref: '#/components/schemas/delegator' properties: description: Optional JSON object with arbitrary key-value pairs additionalProperties: true type: object required: - type - directory - service - delegator peerName: description: The name of a Peer type: string example: Peer A minLength: 3 maxLength: 255 delegationVersion: description: The version of the Delegation extension type: string enum: - 1.0.0 errorDomain: description: The FSC component in which the error occurred type: string enum: - ERROR_DOMAIN_INWAY - ERROR_DOMAIN_OUTWAY - ERROR_DOMAIN_MANAGER error: type: object properties: message: description: A message describing the error type: string domain: $ref: '#/components/schemas/errorDomain' code: $ref: '#/components/schemas/errorCode' required: - message - domain - code delegator: description: The details of a Delegator type: object properties: peer_id: $ref: '#/components/schemas/peerID' required: - peer_id service: description: The details of a Service type: object properties: type: $ref: '#/components/schemas/serviceType' peer_id: $ref: '#/components/schemas/peerID' name: $ref: '#/components/schemas/serviceName' required: - type - peer_id - name parameters: pathContractContentHash: in: path name: hash description: The hash of the Contract content schema: type: string example: $1$1$ouqPHvHP9-ZDKo4YDNz4GGYENOQQ80knSVg6lJ_MjaTLE_o3GgD1Vzyzteu791X0rkX6FvlJzyBYdZuD6hlWrQ required: true headerFscManagerAddress: in: header name: fsc-manager-address description: The URL of the Manager. The scheme must be https and the URL must contain the port. schema: type: string example: https://manager.com:8443 required: true requestBodies: signatureRequest: description: A signature request required: true content: application/json: schema: type: object properties: content: $ref: '#/components/schemas/contractContent' signature: description: The signature type: string example: eyJhbGciOiJSUzUxMiIsIng1dCNTMjU2IjoiRzRYNEM0bmFXZmRERG5qSi9aV2RzNGFPcWhzVTZnUklPNlQxM1pMNEsyST0ifQ.eyJjb250ZW50SGFzaCI6IiQxJDEkWmFxbiszaWFoM2FkMmtuYjJKc2JhR2g2bi9rZ1UrUWpVK0pmTmhuVkdCd1RGbnN1TUNjOUlRcHlPM0xabmt0WUtaWWh4TnpKalh5RWlLMnVWZTZEZ3c9PSIsInR5cGUiOiJhY2NlcHQifQ.Qs7M3EBVWbrzhjPioDhbhNP8BJQqkxPOPq-Pm6oWL_ZO9m74TIeUHk1gQ1QcqZs_zGALjmDLuOSLLEgz3Qh4iK5jadex14z-i3xJObb5vcjVN326CxdJNzRZo60c9KWY4Nrh7ewziXJv8BQ3x4se62p5paCKdN8quWiG9J5gN4F5dmtZyae0rEhQsy-fy5ugLHPhR97cschr8OnlStVQKRYcUqn7obCnKLNOv-L9a02umsw6ha-G8CSMr3z9QZMfYcPABQAaR3XamUIR_T-ZGiZbpuTDaLfqztCP9jrZ7Q6g4J6SmQtxkcbzj4YdXXcwOr9aUO-07LZuH__tHGXU2bzgsObiClP5Fx13VT0zJzM5rdMtS5OnRwvznIFJUG1VkXXIRG9pVpffOM-kO-FsFW6BTWGi5nBJfi21nLUTh-bNVPB9O8WVfVBl8PwZ2HzjNy0asI_6I2jpweRh8-KNLM5ca18YS1VUS8cgfnc7qFcrnI8kxxDqyITOd2-LMRsngvmJpoJkmKjNIHbnJaoXdvMqFss7YHitJQi7wz3VUKLojK8XdaUc40KQtx7VIdBX9ClDdUFY1kXPxM_c0zLGsLn60a-4PLtUBZEPnBgxZd7-9st9ivBkPXylG9ZNqIe6aD4qxBtp91vI2w18X-MmYT-wb73PcF2IySAuzFk-uqI required: - content - signature headers: FscErrorCode: schema: $ref: '#/components/schemas/errorCode' required: true x-refined-from: - logius-fsc-manager-openapi.yml - logius-fsc-manager-openapi.yml