openapi: 3.2.0 info: title: Pagopa Tenants 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 tenants 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: Tenants description: Tenants routes paths: /tenants: get: tags: - Tenants summary: List Tenants description: Retrieve a list of Tenants based on filters operationId: getTenants parameters: - in: query name: IPACode schema: type: string description: 'IPA code of the Tenant If the Tenant is an AOO, it corresponds to "codice AOO" in IPA If the Tenant is an UO, it corresponds to "codice UO" in IPA Available only for Tenants listed in IPA Mutually exclusive with taxCode ' - in: query name: taxCode schema: type: string description: 'Tax code of the Tenant Available only for Tenants not listed in IPA Mutually exclusive with IPACode ' - $ref: '#/components/parameters/OffsetParam' - $ref: '#/components/parameters/LimitParam' responses: '200': description: Tenants retrieved content: application/json: schema: $ref: '#/components/schemas/Tenants' 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: [] servers: - url: https://api.interop.pagopa.it/v3 description: Production environment /tenants/{tenantId}: parameters: - name: tenantId in: path description: The ID of the Tenant to retrieve required: true schema: $ref: '#/components/schemas/TenantId' get: tags: - Tenants summary: Retrieve a Tenant operationId: getTenant responses: '200': description: Tenant retrieved content: application/json: schema: $ref: '#/components/schemas/Tenant' 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: [] servers: - url: https://api.interop.pagopa.it/v3 description: Production environment /tenants/{tenantId}/declaredAttributes: parameters: - name: tenantId in: path description: The Tenant ID of the Declared Attributes required: true schema: $ref: '#/components/schemas/TenantId' get: tags: - Tenants summary: List Tenant Declared Attributes description: Retrieve a list of Declared Attributes assigned to the Tenant operationId: getTenantDeclaredAttributes parameters: - in: query name: delegationId description: The ID of the Delegation to filter the Declared Attributes schema: type: string format: uuid - $ref: '#/components/parameters/OffsetParam' - $ref: '#/components/parameters/LimitParam' responses: '200': description: Tenant Declared Attributes retrieved content: application/json: schema: $ref: '#/components/schemas/TenantDeclaredAttributes' 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: [] post: tags: - Tenants summary: Assign a Declared Attribute to a Tenant operationId: assignTenantDeclaredAttribute requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TenantDeclaredAttributeSeed' responses: '200': description: Declared Attribute assigned content: application/json: schema: $ref: '#/components/schemas/TenantDeclaredAttribute' 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 /tenants/{tenantId}/declaredAttributes/{attributeId}: parameters: - name: tenantId in: path description: The Tenant ID of the Declared Attribute required: true schema: $ref: '#/components/schemas/TenantId' - name: attributeId in: path description: The Declared Attribute ID required: true schema: $ref: '#/components/schemas/AttributeId' delete: tags: - Tenants summary: Revoke a Declared Attribute from a Tenant operationId: revokeTenantDeclaredAttribute responses: '200': description: Declared Attribute revoked content: application/json: schema: $ref: '#/components/schemas/TenantDeclaredAttribute' 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 /tenants/{tenantId}/certifiedAttributes: parameters: - name: tenantId in: path description: The Tenant ID of the Certified Attributes required: true schema: $ref: '#/components/schemas/TenantId' get: tags: - Tenants summary: List Tenant Certified Attributes description: Retrieve a list of Certified Attributes assigned to the Tenant operationId: getTenantCertifiedAttributes parameters: - $ref: '#/components/parameters/OffsetParam' - $ref: '#/components/parameters/LimitParam' responses: '200': description: Tenant Certified Attributes retrieved content: application/json: schema: $ref: '#/components/schemas/TenantCertifiedAttributes' 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: [] post: tags: - Tenants summary: Assign a Certified Attribute to a Tenant operationId: assignTenantCertifiedAttribute requestBody: content: application/json: schema: $ref: '#/components/schemas/TenantCertifiedAttributeSeed' required: true responses: '200': description: Certified Attribute assigned content: application/json: schema: $ref: '#/components/schemas/TenantCertifiedAttribute' 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 /tenants/{tenantId}/certifiedAttributes/{attributeId}: parameters: - name: tenantId in: path description: The Tenant ID of the Certified Attribute required: true schema: $ref: '#/components/schemas/TenantId' - name: attributeId in: path description: The Certified Attribute ID required: true schema: $ref: '#/components/schemas/AttributeId' delete: tags: - Tenants summary: Revoke a Certified Attribute from a Tenant operationId: revokeTenantCertifiedAttribute responses: '200': description: Certified Attribute revoked content: application/json: schema: $ref: '#/components/schemas/TenantCertifiedAttribute' 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 /tenants/{tenantId}/verifiedAttributes: parameters: - name: tenantId in: path description: The Tenant ID of the Verified Attributes required: true schema: $ref: '#/components/schemas/TenantId' get: tags: - Tenants summary: List Tenant Verified Attributes description: Retrieve a list of Verified Attributes assigned to the Tenant operationId: getTenantVerifiedAttributes parameters: - $ref: '#/components/parameters/OffsetParam' - $ref: '#/components/parameters/LimitParam' responses: '200': description: Tenant Verified Attributes retrieved content: application/json: schema: $ref: '#/components/schemas/TenantVerifiedAttributes' 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: [] post: tags: - Tenants summary: Assign a Verified Attribute to a Tenant with yourself as verifier. description: Assign a Verified Attribute to a Tenant operationId: assignTenantVerifiedAttribute requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TenantVerifiedAttributeSeed' responses: '200': description: Verified Attribute assigned content: application/json: schema: $ref: '#/components/schemas/TenantVerifiedAttribute' 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 /tenants/{tenantId}/verifiedAttributes/{attributeId}: parameters: - name: tenantId in: path description: The Tenant ID of the Verified Attribute required: true schema: $ref: '#/components/schemas/TenantId' - name: attributeId in: path description: The Verified Attribute ID required: true schema: $ref: '#/components/schemas/AttributeId' delete: tags: - Tenants summary: Revoke a Verified Attribute from a Tenant description: 'Revoke a Verified Attribute from a Tenant. You will be added to the list of revokers of the tenant Verified Attribute.' operationId: revokeTenantVerifiedAttribute parameters: - in: query required: true name: agreementId description: The ID of the Agreement schema: type: string format: uuid responses: '200': description: Verified Attribute revoked content: application/json: schema: $ref: '#/components/schemas/TenantVerifiedAttribute' 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 /tenants/{tenantId}/verifiedAttributes/{attributeId}/verifiers: parameters: - name: tenantId in: path description: The Tenant ID required: true schema: $ref: '#/components/schemas/TenantId' - name: attributeId in: path description: The Verified Attribute ID required: true schema: $ref: '#/components/schemas/AttributeId' get: tags: - Tenants summary: List Tenant Verified Attribute Verifiers description: Retrieve a list of Verifiers for a specific Verified Attribute of a Tenant operationId: getTenantVerifiedAttributeVerifiers parameters: - $ref: '#/components/parameters/OffsetParam' - $ref: '#/components/parameters/LimitParam' responses: '200': description: Verified Attribute Verifiers retrieved content: application/json: schema: $ref: '#/components/schemas/TenantVerifiedAttributeVerifiers' 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: [] servers: - url: https://api.interop.pagopa.it/v3 description: Production environment /tenants/{tenantId}/verifiedAttributes/{attributeId}/revokers: parameters: - name: tenantId in: path description: The Tenant ID required: true schema: $ref: '#/components/schemas/TenantId' - name: attributeId in: path description: The Verified Attribute ID required: true schema: $ref: '#/components/schemas/AttributeId' get: tags: - Tenants summary: List Tenant Verified Attribute Revokers description: Retrieve a list of Revokers for a specific Verified Attribute of a Tenant operationId: getTenantVerifiedAttributeRevokers parameters: - $ref: '#/components/parameters/OffsetParam' - $ref: '#/components/parameters/LimitParam' responses: '200': description: Verified Attribute Revokers retrieved content: application/json: schema: $ref: '#/components/schemas/TenantVerifiedAttributeRevokers' 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: [] servers: - url: https://api.interop.pagopa.it/v3 description: Production environment components: schemas: TenantVerifiedAttributeRevokers: type: object additionalProperties: false properties: results: type: array items: $ref: '#/components/schemas/TenantVerifiedAttributeRevoker' pagination: $ref: '#/components/schemas/Pagination' required: - results - pagination TenantDeclaredAttributes: type: object additionalProperties: false properties: results: type: array items: $ref: '#/components/schemas/TenantDeclaredAttribute' pagination: $ref: '#/components/schemas/Pagination' required: - results - pagination 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 TenantSubUnitType: type: string enum: - AOO - UO Tenants: type: object additionalProperties: false properties: results: type: array items: $ref: '#/components/schemas/Tenant' pagination: $ref: '#/components/schemas/Pagination' required: - results - pagination TenantId: type: string format: uuid description: The unique identifier of the Tenant ExternalId: properties: origin: type: string minLength: 3 maxLength: 64 value: type: string required: - origin - value TenantCertifiedAttributes: type: object additionalProperties: false properties: results: type: array items: $ref: '#/components/schemas/TenantCertifiedAttribute' pagination: $ref: '#/components/schemas/Pagination' required: - results - pagination Tenant: description: Tenant model type: object additionalProperties: false properties: id: type: string format: uuid externalId: $ref: '#/components/schemas/ExternalId' createdAt: type: string format: date-time updatedAt: type: string format: date-time name: type: string kind: $ref: '#/components/schemas/TenantKind' onboardedAt: type: string format: date-time subUnitType: $ref: '#/components/schemas/TenantSubUnitType' selfcareInstitutionType: type: string required: - id - certifier - externalId - attributes - createdAt - mails - name TenantCertifiedAttribute: type: object additionalProperties: false properties: id: type: string format: uuid assignedAt: type: string format: date-time revokedAt: type: string format: date-time required: - id - assignedAt AttributeId: type: string format: uuid description: The unique identifier of the Attribute TenantDeclaredAttributeSeed: type: object additionalProperties: false properties: id: type: string format: uuid delegationId: $ref: '#/components/schemas/DelegationId' required: - id AgreementId: type: string format: uuid description: The unique identifier of the Agreement DelegationId: type: string format: uuid description: The unique identifier of the Delegation TenantVerifiedAttributeSeed: type: object additionalProperties: false properties: id: type: string format: uuid agreementId: $ref: '#/components/schemas/AgreementId' expirationDate: type: string format: date-time required: - id - agreementId TenantCertifiedAttributeSeed: type: object additionalProperties: false properties: id: type: string format: uuid required: - id TenantDeclaredAttribute: type: object additionalProperties: false properties: id: type: string format: uuid assignedAt: type: string format: date-time revokedAt: type: string format: date-time delegationId: $ref: '#/components/schemas/DelegationId' required: - id - assignedAt TenantVerifiedAttributeRevoker: type: object additionalProperties: false properties: id: type: string format: uuid verifiedAt: type: string format: date-time expiresAt: type: string format: date-time extendedAt: type: string format: date-time revokedAt: type: string format: date-time delegationId: $ref: '#/components/schemas/DelegationId' required: - id - verifiedAt - revokedAt TenantVerifiedAttribute: type: object additionalProperties: false properties: id: type: string format: uuid assignedAt: type: string format: date-time required: - id - assignedAt TenantVerifiedAttributeVerifier: type: object additionalProperties: false properties: id: type: string format: uuid verifiedAt: type: string format: date-time expiresAt: type: string format: date-time extendedAt: type: string format: date-time delegationId: $ref: '#/components/schemas/DelegationId' required: - id - verifiedAt TenantVerifiedAttributes: type: object additionalProperties: false properties: results: type: array items: $ref: '#/components/schemas/TenantVerifiedAttribute' pagination: $ref: '#/components/schemas/Pagination' required: - results - pagination TenantKind: type: string enum: - PA - PRIVATE - GSP - SCP TenantVerifiedAttributeVerifiers: type: object additionalProperties: false properties: results: type: array items: $ref: '#/components/schemas/TenantVerifiedAttributeVerifier' pagination: $ref: '#/components/schemas/Pagination' required: - results - pagination 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 Tenant_2: description: Tenant model type: object additionalProperties: false properties: id: type: string format: uuid externalId: $ref: '#/components/schemas/ExternalId' createdAt: type: string format: date-time updatedAt: type: string format: date-time name: type: string kind: $ref: '#/components/schemas/TenantKind' onboardedAt: type: string format: date-time subUnitType: $ref: '#/components/schemas/TenantSubUnitType' required: - id - certifier - externalId - attributes - createdAt - mails - name TenantDeclaredAttributeSeed_2: type: object additionalProperties: false properties: id: type: string format: uuid delegationId: type: string format: uuid required: - id TenantVerifiedAttributeSeed_2: type: object additionalProperties: false properties: id: type: string format: uuid agreementId: type: string format: uuid expirationDate: type: string format: date-time required: - id - agreementId TenantVerifiedAttributeRevoker_2: type: object additionalProperties: false properties: id: type: string format: uuid verifiedAt: type: string format: date-time expiresAt: type: string format: date-time extendedAt: type: string format: date-time revokedAt: type: string format: date-time delegationId: type: string format: uuid required: - id - verifiedAt - revokedAt TenantDeclaredAttribute_2: type: object additionalProperties: false properties: id: type: string format: uuid assignedAt: type: string format: date-time revokedAt: type: string format: date-time delegationId: type: string format: uuid required: - id - assignedAt TenantVerifiedAttributeVerifier_2: type: object additionalProperties: false properties: id: type: string format: uuid verifiedAt: type: string format: date-time expiresAt: type: string format: date-time extendedAt: type: string format: date-time delegationId: type: string format: uuid required: - id - verifiedAt 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 ' 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