openapi: 3.0.0 info: version: '1.0.0' title: 'JOSE Protected Message Forwarding API' description: 'N32-f Message Forwarding' servers: - url: '{apiRoot}/n32f-forward/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501. externalDocs: description: 3GPP TS 29.573 V15.1.0; 5G System; Public Land Mobile Network (PLMN) Interconnection; Stage 3 url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.573/ paths: /n32f-process: post: summary: N32-f Message Forwarding tags: - N32-f Forward operationId: PostN32fProcess requestBody: description: Custom operation N32-f Message Forwarding required: true content: application/json: schema: $ref: '#/components/schemas/N32fReformattedReqMsg' responses: '200': description: OK (Successful forwarding of reformatted message over N32-f) content: application/json: schema: $ref: '#/components/schemas/N32fReformattedRspMsg' '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: description: Unexpected error components: schemas: FlatJweJson: type: object required: - ciphertext properties: protected: type: string unprotected: type: object header: type: object encrypted_key: type: string aad: type: string iv: type: string ciphertext: type: string tag: type: string FlatJwsJson: type: object required: - payload - signature properties: payload: type: string protected: type: string header: type: object signature: type: string N32fReformattedReqMsg: type: object required: - reformattedData properties: reformattedData: $ref: '#/components/schemas/FlatJweJson' modificationsBlock: type: array items: $ref: '#/components/schemas/FlatJwsJson' minItems: 1 N32fReformattedRspMsg: type: object required: - reformattedData properties: reformattedData: $ref: '#/components/schemas/FlatJweJson' modificationsBlock: type: array items: $ref: '#/components/schemas/FlatJwsJson' minItems: 1 DataToIntegrityProtectAndCipherBlock: type: object required: - dataToEncrypt properties: dataToEncrypt: type: array items: type: object minItems: 1 DataToIntegrityProtectBlock: type: object properties: metaData: $ref: '#/components/schemas/MetaData' requestLine: $ref: '#/components/schemas/RequestLine' statusLine: type: string headers: type: array items: $ref: '#/components/schemas/HttpHeader' minItems: 1 payload: type: array items: $ref: '#/components/schemas/HttpPayload' minItems: 1 RequestLine: type: object required: - method - scheme - authority - path - protocolVersion properties: method: $ref: 'TS29573_N32_Handshake.yaml#/components/schemas/HttpMethod' scheme: $ref: 'TS29571_CommonData.yaml#/components/schemas/UriScheme' authority: type: string path: type: string protocolVersion: type: string queryFragment: type: string HttpHeader: type: object required: - header - value properties: header: type: string value: $ref: '#/components/schemas/EncodedHttpHeaderValue' HttpPayload: type: object required: - iePath - ieValueLocation - value properties: iePath: type: string ieValueLocation: $ref: 'TS29573_N32_Handshake.yaml#/components/schemas/IeLocation' value: type: object MetaData: type: object required: - n32fContextId - messageId - authorizedIpxId properties: n32fContextId: type: string messageId: type: string authorizedIpxId: type: string Modifications: type: object required: - identity properties: identity: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' operations: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' minItems: 1 IndexToEncryptedValue: type: object required: - encBlockIndex properties: encBlockIndex: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' EncodedHttpHeaderValue: oneOf: - type: string - $ref: '#/components/schemas/IndexToEncryptedValue'