openapi: 3.2.0 info: title: Pagopa Manage Release 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 manage-release 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: manage-release paths: /manage/services/{serviceId}/release: post: tags: - manage-release summary: Publish service on IO description: Publish service by ID on __IO Platform__ operationId: cmsReleaseService security: - ManageSubscriptionKey: [] parameters: - name: serviceId in: path description: ID of the service required: true schema: type: string responses: '204': description: Service published successfully '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '409': description: Service status is incompatible with publish action request '429': description: Too many requests '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ProblemJson' get: tags: - manage-release summary: Retrieve last published version of service description: Retrieve last version of service published on __IO Platform__ operationId: cmsGetPublishedService security: - ManageSubscriptionKey: [] parameters: - name: serviceId in: path description: ID of the service required: true schema: type: string responses: '200': description: Fetched published service content: application/json: schema: $ref: '#/components/schemas/CmsServicePublication' '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '429': description: Too many requests '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ProblemJson' delete: tags: - manage-release summary: Unpublish service from IO description: Unpublish service by ID from __IO Platform__ operationId: cmsUnpublishService security: - ManageSubscriptionKey: [] parameters: - name: serviceId in: path description: ID of the service required: true schema: type: string responses: '204': description: Service unpublished successfully '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '429': description: Too many requests '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ProblemJson' servers: - url: https://api.io.pagopa.it/api/v1 components: schemas: CIDR: type: string description: Describes a single IP or a range of IPs. pattern: ^([0-9]{1,3}[.]){3}[0-9]{1,3}(/([0-9]|[1-2][0-9]|3[0-2]))?$ Timestamp: type: string format: UTCISODateFromString description: A date-time field in ISO-8601 format and UTC timezone. x-import: '@pagopa/ts-commons/lib/dates' example: '2018-10-13T00:00:00.000Z' CmsServiceData: type: object description: Service basic data properties: name: type: string minLength: 1 description: type: string minLength: 1 organization: $ref: '#/components/schemas/CmsOrganization' require_secure_channel: type: boolean authorized_recipients: type: array items: $ref: '#/components/schemas/FiscalCode' authorized_cidrs: description: 'Allowed source IPs or CIDRs for this service. When empty, every IP address it''s authorized to call the IO API on behalf of the service.' type: array items: $ref: '#/components/schemas/CIDR' max_allowed_payment_amount: type: integer format: int32 minimum: 0 maximum: 9999999999 default: 0 required: - name - description - organization CmsServiceTopic: type: object properties: id: type: number description: The topic id example: 3 name: type: string description: The topic name example: Benessere sociale required: - id - name CmsOrganization: type: object properties: name: type: string minLength: 1 fiscal_code: $ref: '#/components/schemas/OrganizationFiscalCode' department_name: type: string minLength: 1 required: - name - fiscal_code CmsServicePublication: description: Service Publication model data allOf: - type: object properties: id: type: string status: $ref: '#/components/schemas/CmsServicePublicationStatusType' last_update: $ref: '#/components/schemas/Timestamp' metadata: $ref: '#/components/schemas/CmsServiceMetadata' - $ref: '#/components/schemas/CmsServiceData' required: - id - status - last_update OrganizationFiscalCode: type: string description: Organization fiscal code. format: OrganizationFiscalCode x-import: '@pagopa/ts-commons/lib/strings' example: '12345678901' CmsServicePublicationStatusType: description: 'Service publication status
- _published_: The service is visible in _IO App_ to users - _unpublished_: The service is no longer visible in _IO App_ to users, but remains in the institution''s Back-Office, which can later choose to publish it again. ' type: string enum: - published - unpublished 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.' CmsServiceBaseMetadata: type: object description: A set of service metadata properties properties: web_url: type: string minLength: 1 app_ios: type: string minLength: 1 app_android: type: string minLength: 1 tos_url: type: string minLength: 1 privacy_url: type: string minLength: 1 address: type: string minLength: 1 phone: type: string minLength: 1 email: type: string minLength: 1 pec: type: string minLength: 1 cta: type: string minLength: 1 token_name: type: string minLength: 1 description: This field is deprecated and it will be removed soon. See https://developer.pagopa.it/app-io/guides/io-guida-tecnica/funzionalita/pubblicare-un-servizio/dati-obbligatori/service-metadata#token_name for more details on the removal date support_url: type: string minLength: 1 scope: type: string enum: - LOCAL - NATIONAL required: - scope CmsServiceMetadata: description: A set of service metadata properties allOf: - $ref: '#/components/schemas/CmsServiceBaseMetadata' - type: object properties: topic: $ref: '#/components/schemas/CmsServiceTopic' 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