openapi: 3.2.0 info: title: Pagopa Profiles API version: 4.1.1 contact: name: PagoPA S.p.A. url: https://docs.pagopa.it/io-guida-tecnica/ x-logo: url: https://io.italia.it/assets/img/io-logo-blue.svg description: 'Operations tagged Profiles across 2 of this provider''s published API definitions: io-functions-services.yaml, pagopa-io-services-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.io.pagopa.it/api/v1 tags: - name: Profiles paths: /profiles: post: operationId: getProfileByPOST summary: Get a User Profile using POST description: 'Returns the preferences for the user identified by the fiscal code provided in the request body. The field `sender_allowed` is set fo `false` in case the service which is calling the API has been disabled by the user.' security: - SubscriptionKey: [] responses: '200': description: Found. content: application/json: schema: $ref: '#/components/schemas/LimitedProfile' example: email: foobar@example.com version: 1 '401': description: Unauthorized '403': description: Forbidden. '404': description: No user found for the provided fiscal code. content: application/json: schema: $ref: '#/components/schemas/ProblemJson' '429': description: Too many requests requestBody: content: application/json: schema: $ref: '#/components/schemas/FiscalCodePayload' tags: - Profiles servers: - url: https://api.io.pagopa.it/api/v1 /profiles/{fiscal_code}: get: operationId: getProfile summary: Get a User Profile description: 'Returns the preferences for the user identified by the provided fiscal code. The field `sender_allowed` is set fo `false` in case the service which is calling the API has been disabled by the user.' security: - SubscriptionKey: [] responses: '200': description: Found. content: application/json: schema: $ref: '#/components/schemas/LimitedProfile' example: email: foobar@example.com version: 1 '401': description: Unauthorized '403': description: Forbidden. '404': description: No user found for the provided fiscal code. content: application/json: schema: $ref: '#/components/schemas/ProblemJson' '429': description: Too many requests parameters: - $ref: '#/components/parameters/FiscalCode' tags: - Profiles servers: - url: https://api.io.pagopa.it/api/v1 components: schemas: FiscalCodePayload: type: object properties: fiscal_code: $ref: '#/components/schemas/FiscalCode' required: - fiscal_code LimitedProfile: description: 'Describes the citizen''s profile, mostly interesting for preferences attributes.' type: object properties: sender_allowed: type: boolean description: 'True in case the service that made the request can send messages to the user identified by this profile (false otherwise).' preferred_languages: type: array items: type: string x-extensible-enum: - it_IT - en_GB - es_ES - de_DE - fr_FR example: it_IT description: 'Indicates the User''s preferred written or spoken languages in order of preference. Generally used for selecting a localized User interface. Valid values are concatenation of the ISO 639-1 two letter language code, an underscore, and the ISO 3166-1 2 letter country code; e.g., ''en_US'' specifies the language English and country US.' required: - sender_allowed FiscalCode: type: string description: User's fiscal code. format: FiscalCode x-import: '@pagopa/ts-commons/lib/strings' example: SPNDNL80R13C555X ProblemJson: type: object properties: type: type: string format: uri 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).' default: about:blank example: https://example.com/problem/constraint-violation title: type: string 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' status: type: integer format: int32 description: The HTTP status code generated by the origin server for this occurrence of the problem. minimum: 100 example: 200 exclusiveMaximum: 600 detail: type: string description: 'A human readable explanation specific to this occurrence of the problem.' example: There was an error processing the request instance: type: string format: uri description: 'An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.' parameters: FiscalCode: name: fiscal_code in: path required: true description: The fiscal code of the user, all upper case. x-example: SPNDNL80R13C555X schema: type: string maxLength: 16 minLength: 16 pattern: '[A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST][0-9LMNPQRSTUV]{2}[A-Z][0-9LMNPQRSTUV]{3}[A-Z]' securitySchemes: SubscriptionKey: type: apiKey name: Ocp-Apim-Subscription-Key in: header description: The API key obtained through the Backoffice IO or both getService or cmsGetServiceKeys operation. ManageSubscriptionKey: type: apiKey name: Ocp-Apim-Subscription-Key in: header description: The `manage` API key obtained through the Backoffice IO. x-refined-from: - io-functions-services.yaml - pagopa-io-services-openapi.yml