openapi: 3.2.0 info: title: Pagopa Delete API version: 1.0.0 contact: name: PagoPA S.p.A. email: rtp@pagopa.it description: 'Operations tagged delete across 2 of this provider''s published API definitions: srtp-activation.yaml, pagopa-srtp-activation-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - description: Development/Test url: https://api-rtp.dev.cstar.pagopa.it/rtp/activation x-internal: true - description: User Acceptance Test url: https://api-rtp.uat.cstar.pagopa.it/rtp/activation x-internal: false - description: Production url: https://api-rtp.cstar.pagopa.it/rtp/activation x-internal: false tags: - name: Delete description: Delete operation. paths: /activations/{activationId}: delete: operationId: deleteActivation summary: Deletes a RTP activation description: 'Removes an activation record, which disables the Payer from receiving any new RTP requests. A Service Provider can only delete activations that they manage. When the operation is used by not-admin subject, the system returns `404 Not Found` if the Payer''s RTP Service Provider ID of the activation doesn''t match the subject claim of the access token.' tags: - Delete security: - oAuth2: - admin_rtp_activations - write_rtp_activations parameters: - $ref: '#/components/parameters/RequestId' - $ref: '#/components/parameters/Version' - $ref: '#/components/parameters/ActivationId' responses: '204': $ref: '#/components/responses/NoContent' '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/UnauthorizedError' '403': $ref: '#/components/responses/ForbiddenError' '404': $ref: '#/components/responses/NotFoundError' '429': $ref: '#/components/responses/TooManyRequestsError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/Error' servers: - description: Development/Test url: https://api-rtp.dev.cstar.pagopa.it/rtp/activation x-internal: true - description: User Acceptance Test url: https://api-rtp.uat.cstar.pagopa.it/rtp/activation x-internal: false - description: Production url: https://api-rtp.cstar.pagopa.it/rtp/activation x-internal: false components: schemas: StatusCode: description: HTTP status code. type: integer format: int32 minimum: 0 maximum: 999 example: 401 RateLimitReset: description: The number of seconds left in the current period. type: integer format: int32 minimum: 1 maximum: 60 ErrorCode: description: "Error code following the format ZZXXKYYYT where:\n - ZZ: Domain identifier\n - XX: Error category (01=Authentication, 02=Validation, etc.)\n - K: Method type (1=POST, etc.)\n - YYY: Detailed error code\n - T: Severity (F=Fatal, E=Error, W=Warning)\n" type: string enum: - 01021000E - 01021001E - 01021002E - 01021003E - 01021004E - 01021009E - 01011000E - 01011001E - 01011002E - 01011003F - 01011004E - 01011005E - 01011006F - 01021010E - 01031000E - 01031001E - 01021011E - 01021012E - 01051000E - 01051001E - 01091000F - 01091001F - 01021005E - 01021006E - 01021007E - 01041000E - 01041001E - 01021008E - 01021013E minLength: 9 maxLength: 9 example: 01021000E Error: description: Error details. type: object additionalProperties: false properties: code: $ref: '#/components/schemas/ErrorCode' description: $ref: '#/components/schemas/ErrorDescription' required: - code - description example: code: 01021000E description: Wrong party identifier RetryAfter: description: 'The number of seconds to wait before allowing a follow-up request. ' type: integer format: int32 minimum: 1 maximum: 240 Errors: description: 'Error details. The format depends on the component which returns it. ' oneOf: - $ref: '#/components/schemas/Type1Error' - $ref: '#/components/schemas/Type2Error' - $ref: '#/components/schemas/Type3Error' RateLimitLimit: description: The number of allowed requests in the current period. type: integer format: int32 minimum: 1 maximum: 240 Type2Error: description: Error details returned by the APIM. type: object additionalProperties: false properties: statusCode: $ref: '#/components/schemas/StatusCode' message: $ref: '#/components/schemas/ErrorDescription' required: - statusCode - message example: statusCode: 401 message: Invalid JWT. ErrorDescription: description: Error description. type: string pattern: ^[ -~]{0,256}$ minLength: 0 maxLength: 256 example: Wrong party identifier AccessControlAllowOrigin: description: 'Indicates whether the response can be shared with requesting code from the given origin. ' type: string pattern: ^[ -~]{1,2048}$ minLength: 1 maxLength: 2048 Type3Error: description: Error details returned by the framework. type: object additionalProperties: false properties: timestamp: description: Timestamp the error occurred. type: string format: date-time minLength: 19 maxLength: 29 pattern: ^((?:(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}(?:\.\d+)?))(Z|[\+-]\d{2}:\d{2})?)$ path: description: API path where the error occurred. type: string pattern: ^[ -~]{1,1024}$ minLength: 1 maxLength: 1024 status: $ref: '#/components/schemas/StatusCode' error: $ref: '#/components/schemas/ErrorDescription' requestId: description: ID of the request. type: string pattern: ^[ -~]{1,128}$ minLength: 1 maxLength: 128 required: - timestamp - path - status - error - requestId example: timestamp: '2024-12-31T09:54:01.763+00:00' path: /activations status: 415 error: Unsupported Media Type requestId: 3fb00d0f-416 ActivationId: description: Identifier of the RTP activation resource. type: string format: uuid pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ minLength: 36 maxLength: 36 example: d0d654e6-97da-4848-b568-99fedccb642b Type1Error: description: List of errors returned by the application. type: object additionalProperties: false properties: errors: type: array minItems: 1 maxItems: 32 items: $ref: '#/components/schemas/Error' required: - errors example: errors: - code: 01021000E description: Wrong party identifier RequestId: description: Identifier of the request. type: string format: uuid pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ minLength: 36 maxLength: 36 example: bd615b4a-066d-443e-8dd2-a28a39931fef Version: description: Version of the required API. type: string pattern: ^[ -~]{1,64}$ minLength: 1 maxLength: 64 example: v1 headers: RateLimitLimit: description: The number of allowed requests in the current period. required: false schema: $ref: '#/components/schemas/RateLimitLimit' AccessControlAllowOrigin: description: 'Indicates whether the response can be shared with requesting code from the given origin. ' required: false schema: $ref: '#/components/schemas/AccessControlAllowOrigin' RateLimitReset: description: The number of seconds left in the current period. required: false schema: $ref: '#/components/schemas/RateLimitReset' RetryAfter: description: 'The number of seconds to wait before allowing a follow-up request. ' required: false schema: $ref: '#/components/schemas/RetryAfter' parameters: RequestId: name: RequestId in: header description: Identifier of the request. required: true schema: $ref: '#/components/schemas/RequestId' Version: name: Version in: header description: Version of the required API. required: true schema: $ref: '#/components/schemas/Version' ActivationId: name: activationId in: path description: Identifier of the RTP activation resource. required: true schema: $ref: '#/components/schemas/ActivationId' responses: BadRequestError: description: Bad request. The request was malformed or contained invalid parameters. headers: Access-Control-Allow-Origin: $ref: '#/components/headers/AccessControlAllowOrigin' RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' RateLimit-Reset: $ref: '#/components/headers/RateLimitReset' Retry-After: $ref: '#/components/headers/RetryAfter' content: application/json: schema: $ref: '#/components/schemas/Errors' text/*: schema: type: string pattern: ^[ -~]{0,65535}$ maxLength: 65535 NoContent: description: No content response. headers: Access-Control-Allow-Origin: $ref: '#/components/headers/AccessControlAllowOrigin' RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' RateLimit-Reset: $ref: '#/components/headers/RateLimitReset' TooManyRequestsError: description: Too many requests. The client has exceeded the rate limit or quota. headers: Access-Control-Allow-Origin: $ref: '#/components/headers/AccessControlAllowOrigin' RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' RateLimit-Reset: $ref: '#/components/headers/RateLimitReset' Retry-After: $ref: '#/components/headers/RetryAfter' content: application/json: schema: $ref: '#/components/schemas/Errors' text/*: schema: type: string pattern: ^[ -~]{0,65535}$ maxLength: 65535 ForbiddenError: description: Forbidden. The caller has insufficient permissions or the provided identity does not match the token subject. headers: Access-Control-Allow-Origin: $ref: '#/components/headers/AccessControlAllowOrigin' RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' RateLimit-Reset: $ref: '#/components/headers/RateLimitReset' Retry-After: $ref: '#/components/headers/RetryAfter' content: application/json: schema: $ref: '#/components/schemas/Errors' text/*: schema: type: string pattern: ^[ -~]{0,65535}$ maxLength: 65535 Error: description: Response returned when an unexpected error occurred. headers: Access-Control-Allow-Origin: $ref: '#/components/headers/AccessControlAllowOrigin' RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' RateLimit-Reset: $ref: '#/components/headers/RateLimitReset' Retry-After: $ref: '#/components/headers/RetryAfter' content: application/json: schema: $ref: '#/components/schemas/Errors' text/*: schema: type: string pattern: ^[ -~]{0,65535}$ maxLength: 65535 UnauthorizedError: description: Unauthorized. Access token is missing or invalid. headers: Access-Control-Allow-Origin: $ref: '#/components/headers/AccessControlAllowOrigin' RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' RateLimit-Reset: $ref: '#/components/headers/RateLimitReset' Retry-After: $ref: '#/components/headers/RetryAfter' content: application/json: schema: $ref: '#/components/schemas/Errors' text/*: schema: type: string pattern: ^[ -~]{0,65535}$ maxLength: 65535 InternalServerError: description: Internal server error. An unexpected error occurred on the server side. headers: Access-Control-Allow-Origin: $ref: '#/components/headers/AccessControlAllowOrigin' RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' RateLimit-Reset: $ref: '#/components/headers/RateLimitReset' Retry-After: $ref: '#/components/headers/RetryAfter' content: application/json: schema: $ref: '#/components/schemas/Errors' text/*: schema: type: string pattern: ^[ -~]{0,65535}$ maxLength: 65535 NotFoundError: description: Not found. The requested activation does not exist or is not visible to the caller. headers: Access-Control-Allow-Origin: $ref: '#/components/headers/AccessControlAllowOrigin' RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' RateLimit-Reset: $ref: '#/components/headers/RateLimitReset' Retry-After: $ref: '#/components/headers/RetryAfter' content: application/json: schema: $ref: '#/components/schemas/Errors' text/*: schema: type: string pattern: ^[ -~]{0,65535}$ maxLength: 65535 securitySchemes: oAuth2: description: 'A bearer token in the format of a JWS and conforms to the specifications included in RFC8725. ' type: oauth2 flows: clientCredentials: tokenUrl: https://api-mcshared.cstar.pagopa.it/auth-itn/realms/srtp/protocol/openid-connect/token refreshUrl: https://api-mcshared.cstar.pagopa.it/auth-itn/realms/srtp/protocol/openid-connect/token scopes: admin_rtp_activations: Grants full administrative access to all activations. write_rtp_activations: Grants permission to create, update, or delete activations. read_rtp_activations: Read RTP activation belonging to the requesting subject. read_rtp_all: Read all RTP activations. x-refined-from: - srtp-activation.yaml - pagopa-srtp-activation-openapi.yml