PagoPA Manage API

The manage API from PagoPA — 4 operation(s) for manage.

Operations 7

POST /manage/services Create a new service #
GET /manage/services Retrieve all services #
GET /manage/services/{serviceId} Retrieve service #
PUT /manage/services/{serviceId} Update service #
DELETE /manage/services/{serviceId} Delete service #
GET /manage/services/{serviceId}/history Retrieve service history #

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-ct-receipt-model-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-cart-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-get-cart-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-get-mbd-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-get-mdb-receipt-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-create-mbd-request-v2-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-single-flow-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-paginated-payments-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-paginated-flows-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-create-flow-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-single-flow-created-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-paginated-flows-published-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-paginated-flows-created-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-payment-position-model-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-payments-model-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-payment-position-model-base-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-payment-positions-info-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-app-info-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-already-paid-payment-option-model-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-file-id-list-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-upload-report-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-upload-status-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-update-transfer-iban-massive-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-payment-position-model-v3-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-payment-position-model-response-v3-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-payment-positions-info-v3-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-flow-list-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-upload-report-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-receipts-info-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-broker-institutions-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-ciibans-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-payment-options-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-new-debt-position-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-debt-position-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-get-generation-request-status-resource-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-template-resource-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-notice-generation-request-item-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-notice-generation-massive-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-notice-generation-massive-resource-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-get-signed-url-resource-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-transaction-result-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-transaction-result-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-eservice-descriptor-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-purpose-template-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-purpose-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-problem-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-eservice-template-version-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-agreement-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-verification-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-input-message-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-success-response-signature-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-verifica-organization-id-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-pseudonymization-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-data-preparation-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-datapreparation-template-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-richiesta-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-verifica-codice-fiscale-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-submit-tracing-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-get-tracing-errors-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-recover-tracing-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-signal-pull-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-signal-payload-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-signal-push-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-signature-request-detail-view-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-dossier-detail-view-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-create-signature-request-body-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-create-dossier-body-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-signature-request-list-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-signature-field-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-citizen-consent-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-access-control-allow-origin-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-list-citizen-consent-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-retry-after-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-rate-limit-limit-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-rate-limit-reset-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-retrieval-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-retrieval-request-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-retrieva-id-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-tpp-network-connection-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-notification-payload-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-auth-request-dynamic-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-token-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-auth-payment-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-preview-payment-response-v2-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-transaction-bar-code-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-auth-bar-code-payment-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-preview-payment-request-v2-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-invoice-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-new-notification-request-v26-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-new-notification-request-v25-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-new-notification-request-v24-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-new-notification-request-v21-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-new-notification-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-new-notification-request-v23-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-asynchronous-sepa-request-to-pay-response-resource-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pagopa/refs/heads/main/json-schema/pagopa-sepa-request-to-pay-cancellation-response-resource-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pagopa:pagopa-manage-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

pagopa-manage-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Pagopa Manage 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 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
paths:
  /manage/services:
    post:
      tags:
      - Manage
      summary: Create a new service
      description: Create a new Service with the attributes provided in the request payload
      operationId: cmsCreateService
      security:
      - ManageSubscriptionKey: []
      responses:
        '201':
          description: Service created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CmsServiceLifecycle'
        '400':
          description: Invalid payload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemJson'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '429':
          description: Too many requests
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemJson'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CmsServicePayload'
        description: A service body payload
        required: true
    get:
      tags:
      - Manage
      summary: Retrieve all services
      description: Retrieve all services owned by the calling user
      operationId: cmsGetServices
      security:
      - ManageSubscriptionKey: []
      parameters:
      - name: limit
        in: query
        description: The number of services to return
        required: false
        schema:
          type: integer
          default: 20
          maximum: 100
          minimum: 1
      - name: offset
        in: query
        description: The number of services to skip before starting to collect the result set
        required: false
        schema:
          type: integer
          default: 0
          minimum: 0
      responses:
        '200':
          description: Services fetched successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CmsServicePagination'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '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
  /manage/services/{serviceId}:
    get:
      tags:
      - Manage
      summary: Retrieve service
      description: Retrieve a service by ID
      operationId: cmsGetService
      security:
      - ManageSubscriptionKey: []
      parameters:
      - name: serviceId
        in: path
        description: ID of the service
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Service fetched successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CmsServiceLifecycle'
        '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'
    put:
      tags:
      - Manage
      summary: Update service
      description: Update an existing service by ID
      operationId: cmsUpdateService
      security:
      - ManageSubscriptionKey: []
      parameters:
      - name: serviceId
        in: path
        description: ID of the service
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Service updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CmsServiceLifecycle'
        '400':
          description: Invalid payload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemJson'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not found
        '409':
          description: Service status is incompatible with update action
        '429':
          description: Too many requests
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemJson'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CmsServicePayload'
        description: Updated service payload
        required: true
    delete:
      tags:
      - Manage
      summary: Delete service
      description: Delete a service by ID
      operationId: cmsDeleteService
      security:
      - ManageSubscriptionKey: []
      parameters:
      - name: serviceId
        in: path
        description: ID of the service
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Service deleted 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
  /manage/services/{serviceId}/logo:
    put:
      tags:
      - Manage
      summary: Upload service logo
      description: Upload service logo by service ID
      operationId: cmsUpdateServiceLogo
      security:
      - ManageSubscriptionKey: []
      parameters:
      - name: serviceId
        in: path
        description: ID of the service
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Service logo updated successfully
        '400':
          description: Invalid payload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemJson'
        '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'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Logo'
        description: Updated service payload
        required: true
    servers:
    - url: https://api.io.pagopa.it/api/v1
  /manage/services/{serviceId}/history:
    get:
      tags:
      - Manage
      summary: Retrieve service history
      description: Retrieve service history by service ID
      operationId: cmsGetServiceHistory
      parameters:
      - name: serviceId
        in: path
        description: ID of the service
        required: true
        schema:
          type: string
      - name: order
        in: query
        description: Order direction
        required: false
        schema:
          type: string
          enum:
          - ASC
          - DESC
          default: DESC
      - name: limit
        in: query
        description: The number of services to return
        required: false
        schema:
          type: integer
          default: 10
          maximum: 100
          minimum: 1
      - name: continuationToken
        in: query
        description: Token to retrieve the next page of results
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Service history retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CmsServiceHistory'
        '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:
    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
    CmsPaginationResultSet:
      type: object
      properties:
        offset:
          type: number
          description: result set offset
        limit:
          type: number
          description: result set size
        count:
          type: number
          description: total record count
    CmsServicePagination:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/CmsServiceLifecycle'
        pagination:
          $ref: '#/components/schemas/CmsPaginationResultSet'
    CmsServiceHistoryStatusKind:
      description: 'Status kind for Service History<br>

        - publication: Indicates the status is related to a service-publication event

        - lifecycle: Indicates the status is related to a service-lifecycle event

        '
      type: string
      enum:
      - publication
      - lifecycle
    CmsServiceHistoryItem:
      description: Service History model data
      allOf:
      - type: object
        properties:
          id:
            type: string
          status:
            $ref: '#/components/schemas/CmsServiceHistoryItemStatus'
          last_update:
            $ref: '#/components/schemas/Timestamp'
          metadata:
            $ref: '#/components/schemas/CmsServiceMetadata'
        required:
        - id
        - status
        - last_update
        - metadata
      - $ref: '#/components/schemas/CmsServiceData'
    CmsServiceLifecycle:
      description: Service Lifecycle model data
      allOf:
      - type: object
        properties:
          id:
            type: string
          status:
            $ref: '#/components/schemas/CmsServiceLifecycleStatus'
          last_update:
            $ref: '#/components/schemas/Timestamp'
          metadata:
            $ref: '#/components/schemas/CmsServiceMetadata'
      - $ref: '#/components/schemas/CmsServiceData'
      required:
      - id
      - status
      - last_update
    CmsServiceMetadata:
      description: A set of service metadata properties
      allOf:
      - $ref: '#/components/schemas/CmsServiceBaseMetadata'
      - type: object
        properties:
          topic:
            $ref: '#/components/schemas/CmsServiceTopic'
    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]))?$
    CmsServiceHistoryItemStatus:
      type: object
      properties:
        kind:
          $ref: '#/components/schemas/CmsServiceHistoryStatusKind'
        value:
          $ref: '#/components/schemas/CmsServiceHistoryStatusType'
        reason:
          description: Reason for status value
          type: string
      required:
      - value
    Logo:
      type: object
      properties:
        logo:
          type: string
          format: byte
          minLength: 1
      required:
      - logo
    CmsServicePayload:
      description: A payload used to create or update a service.
      allOf:
      - type: object
        properties:
          metadata:
            $ref: '#/components/schemas/CmsServicePayloadMetadata'
        required:
        - metadata
      - $ref: '#/components/schemas/CmsServiceData'
    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.'
    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
    CmsServiceHistory:
      type: object
      description: Service basic data
      properties:
        continuationToken:
          type: string
          description: Continuation token for pagination
        items:
          type: array
          items:
            $ref: '#/components/schemas/CmsServiceHistoryItem'
    CmsServiceHistoryStatusType:
      description: 'A Service History record contains either publication or lifecycle items, so can have a combination of Service lifecycle status and publication status<br>

        '
      type: string
      enum:
      - draft
      - submitted
      - approved
      - rejected
      - deleted
      - published
      - unpublished
    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'
    CmsServicePayloadMetadata:
      description: A set of service metadata properties on request payload
      allOf:
      - $ref: '#/components/schemas/CmsServiceBaseMetadata'
      - type: object
        properties:
          topic_id:
            type: number
            description: The topic id
            example: 3
        required:
        - topic_id
    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
    OrganizationFiscalCode:
      type: string
      description: Organization fiscal code.
      format: OrganizationFiscalCode
      x-import: '@pagopa/ts-commons/lib/strings'
      example: '12345678901'
    CmsServiceLifecycleStatus:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/CmsServiceLifecycleStatusType'
        reason:
          description: Reason for status value
          type: string
      required:
      - value
    FiscalCode:
      type: string
      description: User's fiscal code.
      format: FiscalCode
      x-import: '@pagopa/ts-commons/lib/strings'
      example: SPNDNL80R13C555X
    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
    CmsServiceLifecycleStatusType:
      description: 'Service lifecycle status<br>

        - _draft_: A new draft of the service has been created, filled in completely or partially and saved by the system.

        - _submitted_: The draft has been sent for internal validation to PagoPA and the response is awaited. In this state, the service is

        immutable and is frozen in the shipped version.

        - _approved_: The service has been approved by the _PagoPA S.p.A._ internal validation process, it is correct and suitable for publication.

        - _rejected_: The service goes back to the draft but cannot be resubmitted for validation unless it is modified by the institution in

        at least one of its fields.

        - _deleted_: The service is permanently deleted from the Back-Office.

        '
      type: string
      enum:
      - draft
      - submitted
      - approved
      - rejected
      - deleted
  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