openapi: 3.2.0 info: title: Pagopa Producer Keychains API contact: name: API Support url: https://github.com/pagopa/pdnd-interop-frontend/issues termsOfService: https://selfcare.interop.pagopa.it/ui/it/termini-di-servizio x-summary: PDND Interoperability API version: '1.0' description: 'Operations tagged producerKeychains across 3 of this provider''s published API definitions: interop-api-v3.yaml, pagopa-pdnd-interop-v2-openapi.yml, pagopa-pdnd-interop-v3-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.interop.pagopa.it/v3 description: Production environment - url: https://api.interop.pagopa.it/v2 description: PROD environment tags: - name: producerKeychains description: Producer Keychains routes paths: /producerKeychains: get: tags: - producerKeychains summary: List Producer Keychains description: Retrieve a list of Producer Keychains based on filters operationId: getProducerKeychains parameters: - in: query name: name description: 'Filter Producer Keychains by name. If not specified, return Producer Keychains with any name. If specified, since keychain name is visible only to the owner (producer), the response will include only Keychains owned by the requester. ' schema: type: string - name: producerId in: query description: Filter Producer Keychains by Producer ID (Producer Keychain owner). If not specified, return Producer Keychains for any Producer. schema: type: string format: uuid - $ref: '#/components/parameters/OffsetParam' - $ref: '#/components/parameters/LimitParam' responses: '200': description: Producer Keychains retrieved successfully content: application/json: schema: $ref: '#/components/schemas/ProducerKeychains' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' security: - DPoPAuth: [] DPoPProofHeader: [] post: tags: - producerKeychains summary: Create a producer keychain description: Create a producer keychain for the requester's organization. operationId: createProducerKeychain requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProducerKeychainSeed' responses: '200': description: Producer keychain created successfully content: application/json: schema: $ref: '#/components/schemas/ProducerKeychain' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' security: - DPoPAuth: [] DPoPProofHeader: [] servers: - url: https://api.interop.pagopa.it/v3 description: Production environment /producerKeychains/{keychainId}: parameters: - name: keychainId in: path description: The ID of the Producer Keychain to retrieve required: true schema: type: string format: uuid get: tags: - producerKeychains summary: Retrieve a Producer Keychain description: Retrieve a Producer Keychain by its ID operationId: getProducerKeychain responses: '200': description: Producer Keychain retrieved successfully content: application/json: schema: $ref: '#/components/schemas/ProducerKeychain' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' security: - DPoPAuth: [] DPoPProofHeader: [] delete: tags: - producerKeychains summary: Delete a Producer Keychain description: Delete a Producer Keychain by its ID operationId: deleteProducerKeychain responses: '200': description: Producer Keychain deleted successfully content: application/json: schema: $ref: '#/components/schemas/VoidObject' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' security: - DPoPAuth: [] DPoPProofHeader: [] servers: - url: https://api.interop.pagopa.it/v3 description: Production environment /producerKeychains/{keychainId}/eservices: parameters: - name: keychainId in: path description: The ID of the Producer Keychain required: true schema: type: string format: uuid get: tags: - producerKeychains summary: List E-Services linked to a Producer Keychain description: Retrieve a list of E-Services linked to a specific Producer Keychain operationId: getProducerKeychainEServices parameters: - $ref: '#/components/parameters/OffsetParam' - $ref: '#/components/parameters/LimitParam' responses: '200': description: List of E-Services linked to the Producer Keychain content: application/json: schema: $ref: '#/components/schemas/EServices' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' security: - DPoPAuth: [] DPoPProofHeader: [] post: tags: - producerKeychains summary: Link an E-Service to a Producer Keychain description: 'Link a Producer Keychain to an E-Service You must be the E-Service owner' operationId: addProducerKeychainEService requestBody: content: application/json: schema: $ref: '#/components/schemas/ProducerKeychainAddEService' required: true responses: '200': description: Producer Keychain linked to the E-Service content: application/json: schema: $ref: '#/components/schemas/VoidObject' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '429': $ref: '#/components/responses/TooManyRequests' security: - DPoPAuth: [] DPoPProofHeader: [] servers: - url: https://api.interop.pagopa.it/v3 description: Production environment /producerKeychains/{keychainId}/eservices/{eserviceId}: parameters: - name: keychainId in: path description: The ID of the Producer Keychain to unlink the E-Service from required: true schema: type: string format: uuid - name: eserviceId in: path description: The ID of the E-Service to unlink from the Producer Keychain required: true schema: $ref: '#/components/schemas/EServiceId' delete: tags: - producerKeychains summary: Unlink an E-Service from a Producer Keychain description: Unlink an E-Service from a Producer Keychain, removing the association between them operationId: removeProducerKeychainEService responses: '200': description: E-Service unlinked from the Producer Keychain content: application/json: schema: $ref: '#/components/schemas/VoidObject' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' security: - DPoPAuth: [] DPoPProofHeader: [] servers: - url: https://api.interop.pagopa.it/v3 description: Production environment /producerKeychains/{keychainId}/keys: parameters: - name: keychainId in: path description: The ID of the Producer Keychain required: true schema: type: string format: uuid get: tags: - producerKeychains summary: List Producer Keychain Keys description: Retrieve a list of keys associated with a Producer Keychain operationId: getProducerKeychainKeys parameters: - $ref: '#/components/parameters/OffsetParam' - $ref: '#/components/parameters/LimitParam' responses: '200': description: List of Producer Keychain Keys content: application/json: schema: $ref: '#/components/schemas/JWKs' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' security: - DPoPAuth: [] DPoPProofHeader: [] post: tags: - producerKeychains summary: Create a new Producer Keychain Key description: Create a new producer keychain key associated with a Producer Keychain operationId: createProducerKeychainKey requestBody: description: Producer Keychain Key to create required: true content: application/json: schema: $ref: '#/components/schemas/KeySeed' responses: '200': description: Client Key created successfully content: application/json: schema: $ref: '#/components/schemas/ProducerKey' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' security: - DPoPAuth: [] DPoPProofHeader: [] servers: - url: https://api.interop.pagopa.it/v3 description: Production environment /producerKeychains/{keychainId}/keys/{keyId}: parameters: - name: keychainId in: path description: The ID of the Producer Keychain required: true schema: type: string format: uuid - name: keyId in: path description: the unique identifier of the key (kid) to delete required: true schema: type: string delete: tags: - producerKeychains summary: Deletes a key by producer keychain and key identifier (kid) description: Given a producer keychain and key identifiers it deletes the corresponding key, if any operationId: deleteProducerKeychainKeyById responses: '200': description: the corresponding key has been deleted. content: application/json: schema: $ref: '#/components/schemas/VoidObject' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' security: - DPoPAuth: [] DPoPProofHeader: [] servers: - url: https://api.interop.pagopa.it/v3 description: Production environment /producerKeychains/{keychainId}/users: parameters: - name: keychainId in: path description: ID of Producer Keychain the users belong to required: true schema: $ref: '#/components/schemas/ProducerKeychainId' get: tags: - producerKeychains summary: List Producer Keychains Users description: Retrieve a list of Users associated with a Producer Keychain operationId: getProducerKeychainUsers parameters: - $ref: '#/components/parameters/LimitParam' - $ref: '#/components/parameters/OffsetParam' responses: '200': description: Producer Keychain Users retrieved content: application/json: schema: $ref: '#/components/schemas/Users' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' security: - DPoPAuth: [] DPoPProofHeader: [] post: tags: - producerKeychains summary: Link a User to a Producer Keychain description: 'Link a security User to a Producer Keychain. This allows the specified User to manage or use credentials stored in the Keychain. The requester organization must be the owner of the Producer Keychain. Additionally, the User being added must not already be associated with the Keychain.' operationId: addProducerKeychainUser requestBody: content: application/json: schema: $ref: '#/components/schemas/LinkUser' required: true responses: '200': description: User linked to the Producer Keychain content: application/json: schema: $ref: '#/components/schemas/VoidObject' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' security: - DPoPAuth: [] DPoPProofHeader: [] servers: - url: https://api.interop.pagopa.it/v3 description: Production environment /producerKeychains/{keychainId}/users/{userId}: parameters: - name: keychainId in: path description: The Producer Keychain id required: true schema: $ref: '#/components/schemas/ProducerKeychainId' - name: userId in: path description: The ID of the User to unlink from the Producer Keychain required: true schema: type: string format: uuid delete: summary: Unlink a User from a Producer Keychain description: Unlink a User from a Producer Keychain. operationId: removeProducerKeychainUser tags: - producerKeychains responses: '200': description: User unlinked from Producer Keychain content: application/json: schema: $ref: '#/components/schemas/VoidObject' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' security: - DPoPAuth: [] DPoPProofHeader: [] servers: - url: https://api.interop.pagopa.it/v3 description: Production environment components: headers: IntegrityRest02AgidJwtSignatureHeader: description: 'The `Agid-JWT-Signature` header contains a JSON Web Signature (JWS) signed with the PDND API private key. It ensures payload integrity and non-repudiation across all responses (both success and error), in compliance with: 1) Linee Guida sull''interoperabilità tecnica delle Pubbliche Amministrazioni - Pattern di sicurezza, 2) RFC 7515 and 3) RFC 7519. ' schema: type: string RateLimitRemainingHeader: schema: type: integer format: int32 minimum: 0 description: Remaining requests within time interval RateLimitIntervalHeader: schema: type: integer format: int32 minimum: 0 description: Time interval in milliseconds. Allowed requests will be constantly replenished during the interval. At the end of the interval the max allowed requests will be available RateLimitLimitHeader: schema: type: integer format: int32 minimum: 0 description: Max allowed requests within time interval IntegrityRest02DigestHeader: schema: type: string pattern: ^SHA-256=[a-zA-Z0-9+/]{43}=$ description: 'Digest of the body using the canonical JSON representation of the response body. The digest is calculated using the SHA-256 algorithm on the response body exactly as it is sent to the client, encoded in Base64 as per RFC 3230 ' schemas: JWK: description: JSON Web Key type: object additionalProperties: false properties: kty: type: string key_ops: type: array items: type: string use: type: string alg: type: string kid: $ref: '#/components/schemas/Kid' x5u: type: string minLength: 1 x5t: type: string x5t#S256: type: string x5c: type: array items: type: string crv: type: string x: type: string y: type: string d: type: string k: type: string n: type: string e: type: string p: type: string q: type: string dp: type: string dq: type: string qi: type: string oth: uniqueItems: false minItems: 1 type: array items: $ref: '#/components/schemas/OtherPrimeInfo' required: - kty - kid ProducerKeychainSeed: description: Producer keychain creation request body type: object properties: name: type: string minLength: 5 maxLength: 60 description: type: string minLength: 10 maxLength: 250 members: type: array items: type: string format: uuid required: - name - description - members Problem: properties: type: description: URI reference of type definition type: string status: description: The HTTP status code generated by the origin server for this occurrence of the problem example: 503 format: int32 minimum: 100 type: integer exclusiveMaximum: 600 title: description: A short, summary of the problem type. Written in english and readable example: Service Unavailable maxLength: 64 pattern: ^[ -~]{0,64}$ type: string correlationId: description: Unique identifier of the request example: 53af4f2d-0c87-41ef-a645-b726a821852b maxLength: 64 type: string detail: description: A human readable explanation of the problem example: Request took too long to complete maxLength: 4096 pattern: ^.{0,1024}$ type: string errors: type: array minItems: 1 items: $ref: '#/components/schemas/ProblemError' additionalProperties: false required: - type - status - title ProblemError: properties: code: description: Internal code of the error example: 123-4567 minLength: 8 maxLength: 8 pattern: ^[0-9]{3}-[0-9]{4}$ type: string detail: description: A human readable explanation specific to this occurrence of the problem example: Parameter not valid maxLength: 4096 pattern: ^.{0,1024}$ type: string required: - code - detail EServiceTechnology: type: string description: API Technology enum: - REST - SOAP ProducerKey: description: Key type: object additionalProperties: false properties: producerKeychainId: $ref: '#/components/schemas/ProducerKeychainId' jwk: $ref: '#/components/schemas/JWK' required: - producerKeychainId - jwk EServices: type: object additionalProperties: false properties: results: type: array items: $ref: '#/components/schemas/EService' pagination: $ref: '#/components/schemas/Pagination' required: - results - pagination LinkUser: type: object additionalProperties: false properties: userId: type: string format: uuid required: - userId Kid: type: string description: The unique identifier of the Key KeyUse: type: string description: Represents the Use field of key enum: - SIG - ENC ProducerKeychainAddEService: type: object additionalProperties: false properties: eserviceId: $ref: '#/components/schemas/EServiceId' required: - eserviceId KeySeed: description: Models the seed for a public key to be persisted type: object additionalProperties: false properties: key: type: string description: Base64 UTF-8 encoding of a public key in PEM format use: $ref: '#/components/schemas/KeyUse' alg: type: string description: The algorithm type of the key. name: type: string description: Name given to the current key. minLength: 5 maxLength: 60 required: - key - use - alg - name JWKs: type: object additionalProperties: false properties: results: type: array items: $ref: '#/components/schemas/JWK' pagination: $ref: '#/components/schemas/Pagination' required: - results - pagination VoidObject: type: object additionalProperties: false description: An empty object TemplateId: type: string format: uuid description: The unique identifier of the Template EServiceMode: type: string description: Indicates if the E-Service is intended for receiving or delivering data enum: - RECEIVE - DELIVER EServiceId: type: string format: uuid description: The unique identifier of the E-Service Users: type: object additionalProperties: false description: Paginated list of users properties: results: type: array items: $ref: '#/components/schemas/User' pagination: $ref: '#/components/schemas/Pagination' required: - results - pagination ProducerKeychainId: type: string format: uuid description: The unique identifier of the Producer Keychain ProducerKeychain: description: 'Models a Producer Keychain with field visibility based on the requester''s permissions. Only the Producer Keychain owner has access to all fields. ' oneOf: - $ref: '#/components/schemas/FullProducerKeychain' - $ref: '#/components/schemas/PartialProducerKeychain' EService: type: object additionalProperties: false properties: id: type: string format: uuid producerId: type: string format: uuid name: type: string description: type: string technology: $ref: '#/components/schemas/EServiceTechnology' mode: $ref: '#/components/schemas/EServiceMode' isSignalHubEnabled: type: boolean isConsumerDelegable: type: boolean isClientAccessDelegable: type: boolean templateId: $ref: '#/components/schemas/TemplateId' personalData: type: boolean required: - id - producerId - name - description - technology - descriptors - mode OtherPrimeInfo: type: object additionalProperties: false properties: r: type: string d: type: string t: type: string required: - r - d - t ProducerKeychains: type: object additionalProperties: false properties: results: type: array items: $ref: '#/components/schemas/ProducerKeychain' pagination: $ref: '#/components/schemas/Pagination' required: - results - pagination User: type: object additionalProperties: false description: User information properties: userId: type: string format: uuid description: User identifier name: type: string description: User first name familyName: type: string description: User last name roles: type: array items: type: string description: User roles required: - userId - name - familyName - roles Pagination: type: object additionalProperties: false properties: offset: type: integer format: int32 minimum: 0 limit: type: integer format: int32 minimum: 1 maximum: 50 totalCount: type: integer format: int32 minimum: 0 required: - offset - limit - totalCount FullProducerKeychain: type: object description: Models a Producer Keychain with unrestricted field visibility additionalProperties: false properties: id: type: string format: uuid producerId: description: Tenant ID of the Producer Keychain owner type: string format: uuid name: type: string description: type: string createdAt: type: string format: date-time required: - id - producerId - name - createdAt PartialProducerKeychain: type: object description: Models a Producer Keychain with restricted field visibility additionalProperties: false properties: id: type: string format: uuid producerId: description: Tenant ID of the Producer Keychain owner type: string format: uuid required: - id - producerId EService_2: type: object additionalProperties: false properties: id: type: string format: uuid producerId: type: string format: uuid name: type: string description: type: string technology: $ref: '#/components/schemas/EServiceTechnology' mode: $ref: '#/components/schemas/EServiceMode' isSignalHubEnabled: type: boolean isConsumerDelegable: type: boolean isClientAccessDelegable: type: boolean templateId: type: string format: uuid personalData: type: boolean required: - id - producerId - name - description - technology - descriptors - mode JWK_2: description: JSON Web Key type: object additionalProperties: false properties: kty: type: string key_ops: type: array items: type: string use: type: string alg: type: string kid: type: string x5u: type: string minLength: 1 x5t: type: string x5t#S256: type: string x5c: type: array items: type: string crv: type: string x: type: string y: type: string d: type: string k: type: string n: type: string e: type: string p: type: string q: type: string dp: type: string dq: type: string qi: type: string oth: uniqueItems: false minItems: 1 type: array items: $ref: '#/components/schemas/OtherPrimeInfo' required: - kty - kid ProducerKeychainAddEService_2: type: object additionalProperties: false properties: eserviceId: type: string format: uuid required: - eserviceId responses: Forbidden: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/Problem' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' Conflict: description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/Problem' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' Unauthorized: description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/Problem' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' BadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/Problem' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' NotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/Problem' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' TooManyRequests: description: Too Many Requests content: application/problem+json: schema: $ref: '#/components/schemas/Problem' headers: X-Rate-Limit-Limit: $ref: '#/components/headers/RateLimitLimitHeader' X-Rate-Limit-Remaining: $ref: '#/components/headers/RateLimitRemainingHeader' X-Rate-Limit-Interval: $ref: '#/components/headers/RateLimitIntervalHeader' Digest: $ref: '#/components/headers/IntegrityRest02DigestHeader' Agid-JWT-Signature: $ref: '#/components/headers/IntegrityRest02AgidJwtSignatureHeader' parameters: LimitParam: in: query name: limit description: Maximum number of results to return required: true schema: type: integer format: int32 minimum: 1 maximum: 50 OffsetParam: in: query name: offset description: Pagination starting position required: true schema: type: integer format: int32 minimum: 0 securitySchemes: DPoPAuth: type: http scheme: DPoP description: 'This Authorization header must be used alongside the DPoP Proof JWT. Use: Authorization: DPoP The access token generated must also have a cnf field. ' DPoPProofHeader: type: apiKey in: header name: DPoP description: 'DPoP proof JWT for sender-constrained access. Must accompany the DPoP Authorization header. ' bearerAuth: type: http scheme: bearer bearerFormat: JWT x-refined-from: - interop-api-v3.yaml - pagopa-pdnd-interop-v2-openapi.yml - pagopa-pdnd-interop-v3-openapi.yml