openapi: 3.0.3 info: title: Push signal Service API description: Exposes the API for Signal-hub push service version: '1.0' license: name: ISC url: https://opensource.org/license/isc-license-txt termsOfService: https://docs.pagopa.it/interoperabilita-1/normativa-e-approfondimenti servers: - url: https://api.signalhub.interop.pagopa.it/1.0/push description: Push signal Production URL paths: /status: get: description: Should return OK summary: Health status endpoint operationId: getStatus responses: '200': description: '200' content: application/json: schema: type: string enum: - OK /signals: post: description: Insert a signal summary: Push Signal operationId: pushSignal parameters: - schema: type: string required: true name: authorization in: header requestBody: description: '' required: true content: application/json: schema: $ref: '#/components/schemas/SignalPayload' responses: '200': description: '200' headers: X-Rate-Limit-Limit: schema: type: integer description: Max allowed requests within time interval X-Rate-Limit-Remaining: schema: type: integer description: Remaining requests within time interval X-Rate-Limit-Interval: schema: type: integer description: >- Time interval in milliseconds. Allowed requests will be constantly replenished during the interval. At the end of the interval the max allowed requests will be available X-RateLimit-Reset: schema: type: integer description: Time at which the rate limit resets, specified in UTC epoch time content: application/json: schema: $ref: '#/components/schemas/SignalPushResponse' '400': description: '400' headers: X-Rate-Limit-Limit: schema: type: integer description: Max allowed requests within time interval X-Rate-Limit-Remaining: schema: type: integer description: Remaining requests within time interval X-Rate-Limit-Interval: schema: type: integer description: >- Time interval in milliseconds. Allowed requests will be constantly replenished during the interval. At the end of the interval the max allowed requests will be available X-RateLimit-Reset: schema: type: integer description: Time at which the rate limit resets, specified in UTC epoch time content: application/problem+json: schema: $ref: '#/components/schemas/problem' '401': description: '401' content: application/problem+json: schema: $ref: '#/components/schemas/problem' '403': description: '403' headers: X-Rate-Limit-Limit: schema: type: integer description: Max allowed requests within time interval X-Rate-Limit-Remaining: schema: type: integer description: Remaining requests within time interval X-Rate-Limit-Interval: schema: type: integer description: >- Time interval in milliseconds. Allowed requests will be constantly replenished during the interval. At the end of the interval the max allowed requests will be available X-RateLimit-Reset: schema: type: integer description: Time at which the rate limit resets, specified in UTC epoch time content: application/problem+json: schema: $ref: '#/components/schemas/problem' '429': description: '429' headers: X-Rate-Limit-Limit: schema: type: integer description: Max allowed requests within time interval X-Rate-Limit-Remaining: schema: type: integer description: Remaining requests within time interval X-Rate-Limit-Interval: schema: type: integer description: >- Time interval in milliseconds. Allowed requests will be constantly replenished during the interval. At the end of the interval the max allowed requests will be available X-RateLimit-Reset: schema: type: integer description: Time at which the rate limit resets, specified in UTC epoch time Retry-After: schema: type: integer description: How long time to wait before making a new request content: application/problem+json: schema: $ref: '#/components/schemas/problem' '500': description: '500' content: application/problem+json: schema: $ref: '#/components/schemas/problem' components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: >- A bearer token in the format of a JWS and conformed to the specifications included in [RFC8725](https://tools.ietf.org/html/RFC8725). schemas: SignalPushResponse: type: object properties: signalId: type: number required: - signalId problem: type: object properties: type: type: string status: type: number title: type: string correlationId: type: string nullable: true detail: type: string errors: type: array items: type: object properties: code: type: string detail: type: string required: - code - detail required: - type - status - title - detail - errors signalType: type: string enum: - CREATE - UPDATE - DELETE - SEEDUPDATE SignalPayload: type: object properties: signalType: $ref: '#/components/schemas/signalType' objectId: type: string eserviceId: type: string signalId: type: number objectType: type: string required: - signalType - objectId - eserviceId - signalId - objectType parameters: {}