openapi: 3.2.0 info: title: Pagopa Check API version: 3.0.0 contact: name: PagoPA S.p.A url: https://www.interop.pagopa.it/ license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html x-api-id: 5ca54741-8f62-4aad-ab79-13ae762920e3 x-refined-note: - x-audience differs across the merged source definitions and was not carried - x-summary differs across the merged source definitions and was not carried description: 'Operations tagged Check across 4 of this provider''s published API definitions: interop-organization-id-verification.yaml, interop-subject-id-verification.yaml, pagopa-pdnd-attestation-organization-id-openapi.yml, pagopa-pdnd-attestation-subject-id-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - description: Ambiente di Attestazione url: https://mtls.eservices.att.interop.pagopa.it/ tags: - name: Check description: verifies the validity and existence of the input Organization id paths: /organization-id-verification/check: post: summary: Verify an organizationId description: 'Returns information on the validity of the organizationId and if successful, some personal information is added.' operationId: post_partita_organizationId tags: - Check requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Richiesta' examples: numericOrganizationId: value: organizationId: 06363391001 responses: '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '429': $ref: '#/components/responses/429TooManyRequests' '500': $ref: '#/components/responses/500InternalServerError' default: $ref: '#/components/responses/default' '200': description: 'The service has returned the validation result - which can be positive or negative - depending on the value of the `valid` field. Attention! Valid organizationIds may or may not be active: it always works verified the contents of the response. # header di throttling sono obbligatori ' content: application/json: schema: $ref: '#/components/schemas/VerificaOrganizationId' examples: Invalida: value: organizationId: 01043931007 valid: false Attiva: value: organizationId: 06363391001 valid: true status: ATTIVA denomination: AGENZIA DELLE ENTRATE dateStartActivity: '2001-01-02' Sospesa: value: organizationId: 06363391001 valid: true status: SOSPESA denomination: AGENZIA DELLE ENTRATE dateStartActivity: '2001-01-02' dateStartSuspension: '2013-03-15' Cessata: value: organizationId: 06363391001 valid: true status: CESSATA denomination: AGENZIA DELLE ENTRATE dateStartActivity: '2001-01-02' dateEndActivity: '1989-01-01' GruppoIva: value: organizationId: 06363391001 valid: true status: ATTIVA denomination: AGENZIA DELLE ENTRATE dateStartActivity: '2001-01-02' isOrganizationId: true PartecipanteGruppoIva: value: organizationId: 06363391001 valid: true status: ATTIVA denomination: AGENZIA DELLE ENTRATE dateStartActivity: '2001-01-02' isPartecipantOrganizationGroupId: true dateStartPartecipationOrganizationGroupId: '2018-10-27' organizationGroupId: 06363391001 servers: - description: Ambiente di Attestazione url: https://mtls.eservices.att.interop.pagopa.it/ /subject-id-verification/check: post: summary: Carry out a validation of the input subject id operationId: post_verifica_codiceFiscale tags: - Check description: Returns information about the validity of the input subject id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Richiesta_2' examples: alphanumericIdSubject: value: idSubject: AAAZZZ00H00T000Z numericIdSubject: value: idSubject: 06363391001 responses: '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '429': $ref: '#/components/responses/429TooManyRequests' '503': $ref: '#/components/responses/503ServiceUnavailable' default: $ref: '#/components/responses/default' '200': description: 'The server was able to verify the validity of the subject id. ' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' content: application/json: schema: $ref: '#/components/schemas/VerificaCodiceFiscale' examples: ValidIdSubject: value: idSubject: 06363391001 valid: true message: Valid id subject NotUsableIdSubject: value: idSubject: '***********' valid: true message: Valid subject id, no longer usable NotValidUpdatedInOther: value: idSubject: '***********' valid: false message: Valid subject id, no longer usable as it has been updated to another subject id NotValidIdSubject: value: idSubject: AAAZZZ00H00T000Z valid: false message: Not valid id subject servers: - description: Ambiente di Attestazione url: https://mtls.eservices.att.interop.pagopa.it/ /subject-id-verification/check-with-payload-signature: post: summary: Carry out a validation of the input subject id operationId: post_verifica_codiceFiscale_with_payload_signature tags: - Check description: Returns information about the validity of the input subject id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Richiesta_2' examples: alphanumericIdSubject: value: idSubject: AAAZZZ00H00T000Z numericIdSubject: value: idSubject: 06363391001 responses: '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '429': $ref: '#/components/responses/429TooManyRequests' '503': $ref: '#/components/responses/503ServiceUnavailable' default: $ref: '#/components/responses/default' '200': description: 'The server was able to verify the validity of the subject id. ' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' X-Payload-Signature-Kid: $ref: '#/components/parameters/X-Payload-Signature-Kid' X-Payload-Signature: $ref: '#/components/parameters/X-Payload-Signature' X-Payload-Signature-Algorythm: $ref: '#/components/parameters/X-Payload-Signature-Algorythm' content: application/json: schema: $ref: '#/components/schemas/VerificaCodiceFiscale' examples: ValidIdSubject: value: idSubject: 06363391001 valid: true message: Valid id subject NotUsableIdSubject: value: idSubject: '***********' valid: true message: Valid subject id, no longer usable NotValidUpdatedInOther: value: idSubject: '***********' valid: false message: Valid subject id, no longer usable as it has been updated to another subject id NotValidIdSubject: value: idSubject: AAAZZZ00H00T000Z valid: false message: Not valid id subject servers: - description: Ambiente di Attestazione url: https://mtls.eservices.att.interop.pagopa.it/ components: headers: WWW-Authenticate: description: 'Auth realm=APIkey See https://tools.ietf.org/html/rfc7235#section-4.1' schema: type: string Retry-After: description: 'Retry contacting the endpoint *at least* after seconds. See https://tools.ietf.org/html/rfc7231#section-7.1.3' schema: type: string X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: string X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: string X-RateLimit-Reset: description: The number of seconds left in the current period schema: type: string responses: 429TooManyRequests: description: Too many requests headers: Retry-After: $ref: '#/components/headers/Retry-After' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' 500InternalServerError: content: application/problem+json: schema: $ref: '#/components/schemas/Problem' description: Service Unavailable headers: Retry-After: $ref: '#/components/headers/Retry-After' 401Unauthorized: content: application/problem+json: schema: $ref: '#/components/schemas/Problem' headers: WWW-Authenticate: $ref: '#/components/headers/WWW-Authenticate' description: Not authorized 400BadRequest: content: application/problem+json: schema: $ref: '#/components/schemas/Problem' description: Bad Request default: description: Unexpected error 503ServiceUnavailable: content: application/problem+json: schema: $ref: '#/components/schemas/Problem' description: Service Unavailable headers: Retry-After: $ref: '#/components/headers/Retry-After' schemas: VerificaOrganizationId: type: object properties: organizationId: $ref: '#/components/schemas/OrganizationId' valid: type: boolean example: true status: type: string enum: - ATTIVA - CESSATA - SOSPESA example: ATTIVA denomination: type: string example: AGENZIA DELLE ENTRATE dateStartActivity: type: string format: date example: '1982-05-22' dateEndActivity: type: string format: date example: '1982-05-22' dateStartSuspension: type: string format: date example: '1982-05-22' isOrganizationId: type: boolean example: false organizationGroupId: $ref: '#/components/schemas/OrganizationId' dateStartPartecipationOrganizationGroupId: type: string format: date example: '1982-05-22' isPartecipantOrganizationGroupId: type: boolean example: false Problem: properties: detail: description: 'A human readable explanation specific to this occurrence of the problem. You MUST NOT expose internal informations, personal data or implementation details through this field. ' example: Request took too long to complete. type: string instance: description: 'An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. ' format: uri 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 for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable ' type: string type: default: about:blank description: 'An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML). ' format: uri type: string type: object OrganizationId: type: string maxLength: 11 minLength: 11 pattern: ^[0-9]+ example: 06363391001 Richiesta: type: object properties: organizationId: $ref: '#/components/schemas/OrganizationId' VerificaCodiceFiscale: type: object properties: idSubject: $ref: '#/components/schemas/CodiceFiscale' valid: type: boolean example: true message: type: string example: Codice fiscale valido description: messaggio congurente con il serivizio a libero accesso di verifica codice fiscale sul sito istituzionale CodiceFiscale: type: string minLength: 11 maxLength: 16 pattern: ^[0-9]{11}|(?:^(?:[A-Z][AEIOU][AEIOUX]|[B-DF-HJ-NP-TV-Z]{2}[A-Z]){2}(?:[\dLMNP-V]{2}(?:[A-EHLMPR-T](?:[04LQ][1-9MNP-V]|[15MR][\dLMNP-V]|[26NS][0-8LMNP-U])|[DHPS][37PT][0L]|[ACELMRT][37PT][01LM]|[AC-EHLMPR-T][26NS][9V])|(?:[02468LNQSU][048LQU]|[13579MPRTV][26NS])B[26NS][9V])(?:[A-MZ][1-9MNP-V][\dLMNP-V]{2}|[A-M][0L](?:[1-9MNP-V][\dLMNP-V]|[0L][1-9MNP-V]))[A-Z]$) example: 06363391001 description: it can take on an alphanumeric value of length 16 or a numeric value of length 11 (i.e. 06363391001) Richiesta_2: type: object properties: idSubject: $ref: '#/components/schemas/CodiceFiscale' Richiesta_3: type: object properties: idSubject: $ref: '#/components/schemas/CodiceFiscale' parameters: X-Payload-Signature: in: header name: X-Payload-Signature required: true schema: type: string X-Payload-Signature-Algorythm: in: header name: X-Payload-Signature-Algorythm required: true schema: type: string X-Payload-Signature-Kid: in: header name: X-Payload-Signature-Kid required: true schema: type: string x-refined-from: - interop-organization-id-verification.yaml - interop-subject-id-verification.yaml - pagopa-pdnd-attestation-organization-id-openapi.yml - pagopa-pdnd-attestation-subject-id-openapi.yml