openapi: 3.2.0 info: title: Pagopa Remote Content 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 remote-content 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: remote-content paths: /messages-sending/remote-contents/configurations: post: tags: - remote-content operationId: createRCConfiguration security: - ManageSubscriptionKey: [] summary: Create a new remote-content configuration description: Create a new remote-content configuration using the provided payload responses: '201': description: Configuration created content: application/json: schema: $ref: '#/components/schemas/RCConfigurationPublic' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ProblemJson' '500': description: There was an error creating the configuration. content: application/json: schema: $ref: '#/components/schemas/ProblemJson' requestBody: content: application/json: schema: $ref: '#/components/schemas/NewRCConfigurationPublic' required: true get: tags: - remote-content operationId: listRCConfiguration security: - ManageSubscriptionKey: [] summary: Get all the owned remote-content configurations responses: '200': description: Return the configurations content: application/json: schema: $ref: '#/components/schemas/RCConfigurationListResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ProblemJson' '403': description: Request not authorized. '404': description: Resource not found. '500': description: There was an error trying to get the configurations. content: application/json: schema: $ref: '#/components/schemas/ProblemJson' servers: - url: https://api.io.pagopa.it/api/v1 /messages-sending/remote-contents/configurations/{configurationId}: get: tags: - remote-content operationId: getRCConfiguration security: - ManageSubscriptionKey: [] summary: Get the remote-content configuration identified by the configurationId description: Get the remote-content configuration using the provided configurationId passed as path param parameters: - in: path name: configurationId required: true description: Ulid string. x-import: '@pagopa/ts-commons/lib/strings' schema: type: string format: Ulid responses: '200': description: Return the configuration content: application/json: schema: $ref: '#/components/schemas/RCConfigurationResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ProblemJson' '403': description: Request not authorized. '404': description: Resource not found. '500': description: There was an error trying to get the configuration. content: application/json: schema: $ref: '#/components/schemas/ProblemJson' put: tags: - remote-content operationId: updateRCConfiguration security: - ManageSubscriptionKey: [] summary: Update an existing remote-content configuration description: Update an existing remote-content configuration using the provided payload parameters: - in: path name: configurationId required: true description: Ulid string. x-import: '@pagopa/ts-commons/lib/strings' schema: type: string format: Ulid responses: '204': description: Configuration updated '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ProblemJson' '403': description: Request not authorized. '404': description: Resource not found. '500': description: There was an error updating the configuration. content: application/json: schema: $ref: '#/components/schemas/ProblemJson' requestBody: content: application/json: schema: $ref: '#/components/schemas/NewRCConfigurationPublic' required: true servers: - url: https://api.io.pagopa.it/api/v1 components: schemas: NewRCConfigurationBase: type: object properties: name: type: string minLength: 1 description: Configuration name. description: type: string minLength: 1 description: Configuration description. has_precondition: $ref: '#/components/schemas/HasPrecondition' disable_lollipop_for: type: array items: type: string description: User's fiscal code. format: FiscalCode x-import: '@pagopa/ts-commons/lib/strings' example: SPNDNL80R13C555X is_lollipop_enabled: type: boolean description: Flag to check if lollipop is enabled required: - name - description - has_precondition - disable_lollipop_for - is_lollipop_enabled RCConfigurationPublic: allOf: - $ref: '#/components/schemas/RCConfigurationBase' - $ref: '#/components/schemas/RCConfigurationEnvironment' RCConfigurationProdEnvironment: type: object properties: base_url: type: string minLength: 1 description: Base url of the server. details_authentication: $ref: '#/components/schemas/RCAuthenticationConfig' required: - base_url - details_authentication RCConfigurationTestEnvironment: allOf: - $ref: '#/components/schemas/RCConfigurationProdEnvironment' - type: object properties: test_users: type: array items: $ref: '#/components/schemas/FiscalCode' required: - test_users RCConfigurationBase: allOf: - $ref: '#/components/schemas/NewRCConfigurationBase' - type: object properties: configuration_id: type: string description: Ulid string. format: Ulid x-import: '@pagopa/ts-commons/lib/strings' example: 01ARZ3NDEKTSV4RRFFQ69G5FAV required: - configuration_id NewRCConfigurationPublic: allOf: - $ref: '#/components/schemas/NewRCConfigurationBase' - $ref: '#/components/schemas/RCConfigurationEnvironment' RCConfigurationEnvironment: type: object properties: test_environment: $ref: '#/components/schemas/RCConfigurationTestEnvironment' prod_environment: $ref: '#/components/schemas/RCConfigurationProdEnvironment' RCConfigurationResponse: allOf: - $ref: '#/components/schemas/RCConfigurationPublic' - type: object properties: user_id: type: string minLength: 1 required: - user_id RCConfigurationListResponse: type: object properties: rcConfigList: type: array items: $ref: '#/components/schemas/RCConfigurationResponse' HasPrecondition: type: string x-extensible-enum: - ALWAYS - ONCE - NEVER 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.' RCAuthenticationConfig: type: object properties: header_key_name: type: string minLength: 1 description: header key name key: type: string minLength: 1 description: authentication config key type: type: string minLength: 1 description: authentication config type required: - header_key_name - key - type 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