openapi: 3.2.0 info: title: Nokia Network As Code KYC Tenure v0.1 API version: 1.0.0 termsOfService: https://developer.networkascode.nokia.io/legal/terms-of-service x-refined-note: - x-badges differs across the merged source definitions and was not carried - x-camara-commonalities differs across the merged source definitions and was not carried - x-category differs across the merged source definitions and was not carried - x-collections differs across the merged source definitions and was not carried - x-long-description differs across the merged source definitions and was not carried - x-public differs across the merged source definitions and was not carried - x-thumbnail differs across the merged source definitions and was not carried - x-version-lifecycle differs across the merged source definitions and was not carried - x-website differs across the merged source definitions and was not carried description: 'Operations tagged KYC Tenure v0.1 across 2 of this provider''s published API definitions: nokia-network-as-code-camara-openapi.yml, nokia-network-as-code-platform-openapi.json. Each path carries the servers of the definition it was published in.' servers: - url: '{apiRoot}/geofencing-subscriptions/v0.3' variables: apiRoot: default: http://localhost:9091 description: API root - url: '{apiRoot}/geofencing-subscriptions/v0.4' variables: apiRoot: default: http://localhost:9091 description: API root - url: https://network-as-code.p-eu.rapidapi.com tags: - name: KYC Tenure v0.1 paths: /passthrough/camara/v1/kyc-tenure/kyc-tenure/v0.1/check-tenure: post: tags: - KYC Tenure v0.1 summary: The KYC Tenure service API description: 'Verifies a specified length of tenure, based on a provided date, for a network subscriber to establish a level of trust for the network subscription identifier. ' security: - openId: - kyc-tenure:check-tenure operationId: checkTenure parameters: - in: header name: x-correlator description: Correlation id for the different services required: false schema: type: string pattern: ^[a-zA-Z0-9-]{1,55}$ example: b4333c46-49c0-4f62-80d7-f0ef930f1c46 - in: header name: authorization required: false description: authorization header for token schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Tenure-KYC-T-V0' examples: CHECK_TENURE_REQUEST: summary: Example request to check tenure from 2023-07-03 for phone number +99999991000 value: phoneNumber: '+99999991000' tenureDate: '2023-07-03' CHECK_TENURE_REQUEST_3_LEGGED: summary: Example request to check tenure from 2023-07-03 when phone number is identified from access token value: tenureDate: '2023-07-03' responses: '200': description: Respond with tenure information headers: x-correlator: $ref: '#/components/headers/X-Correlator-KYC-T-V0' content: application/json: schema: $ref: '#/components/schemas/TenureInfo-KYC-T-V0' '400': $ref: '#/components/responses/Generic400-KYC-T-V0' '401': $ref: '#/components/responses/Generic401-KYC-T-V0' '403': $ref: '#/components/responses/Generic403-KYC-T-V0' '404': $ref: '#/components/responses/Generic404-KYC-T-V0' '422': $ref: '#/components/responses/Generic422-KYC-T-V0' servers: - url: '{apiRoot}/geofencing-subscriptions/v0.3' variables: apiRoot: default: http://localhost:9091 description: API root - url: '{apiRoot}/geofencing-subscriptions/v0.4' variables: apiRoot: default: http://localhost:9091 description: API root components: schemas: TenureInfo-KYC-T-V0: properties: tenureDateCheck: description: '`true` when the identified mobile subscription has had valid tenure since `tenureDate`, otherwise `false` ' example: true type: boolean contractType: description: 'If exists, populated with: - `PAYG` - prepaid (pay-as-you-go) account - `PAYM` - contract account - `Business` - Business (enterprise) account This attribute may be omitted from the response set if the information is not available ' example: PAYM type: string enum: - PAYG - PAYM - Business required: - tenureDateCheck Tenure-KYC-T-V0: description: Specifies date from which continuous tenure of the identified mobile subscriber is required to be confirmed type: object properties: phoneNumber: $ref: '#/components/schemas/PhoneNumber-KYC-T-V0' tenureDate: type: string description: The date, in RFC 3339 / ISO 8601 compliant format "YYYY-MM-DD", from which continuous tenure of the identified network subscriber is required to be confirmed format: date example: '2023-07-03' required: - tenureDate PhoneNumber-KYC-T-V0: description: A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with '+'. type: string pattern: ^\+[1-9][0-9]{4,14}$ example: '+99999991000' ErrorInfo-KYC-T-V0: type: object required: - message - status - code properties: message: type: string description: A human readable description of what the event represent status: type: integer description: HTTP response status code code: type: string description: Friendly Code to describe the error responses: Generic403-KYC-T-V0: description: Forbidden headers: x-correlator: $ref: '#/components/headers/X-Correlator-KYC-T-V0' content: application/json: schema: allOf: - $ref: '#/components/schemas/ErrorInfo-KYC-T-V0' - type: object properties: status: enum: - 403 code: enum: - PERMISSION_DENIED examples: GENERIC_403_PERMISSION_DENIED: description: Permission denied. OAuth2 token access does not have the required scope or when the user fails operational security value: status: 403 code: PERMISSION_DENIED message: Client does not have sufficient permissions to perform this action. Generic422-KYC-T-V0: description: Unprocessable Content headers: x-correlator: $ref: '#/components/headers/X-Correlator-KYC-T-V0' content: application/json: schema: allOf: - $ref: '#/components/schemas/ErrorInfo-KYC-T-V0' - type: object properties: status: enum: - 422 code: enum: - SERVICE_NOT_APPLICABLE - MISSING_IDENTIFIER - UNNECESSARY_IDENTIFIER examples: GENERIC_422_SERVICE_NOT_APPLICABLE: description: Service is not applicable for the provided phone number value: status: 422 code: SERVICE_NOT_APPLICABLE message: The service is not applicable for the provided phone number GENERIC_422_MISSING_IDENTIFIER: description: No phone number has been provided either explicitly or associated with the access token value: status: 422 code: MISSING_IDENTIFIER message: No phone number has been provided GENERIC_422_UNNECESSARY_IDENTIFIER: description: An explicit phone number has been provided when one is already associated with the access token value: status: 422 code: UNNECESSARY_IDENTIFIER message: An explicit phone number has been provided when one is already associated with the access token Generic400-KYC-T-V0: description: Bad Request headers: x-correlator: $ref: '#/components/headers/X-Correlator-KYC-T-V0' content: application/json: schema: allOf: - $ref: '#/components/schemas/ErrorInfo-KYC-T-V0' - type: object properties: status: enum: - 400 code: enum: - INVALID_ARGUMENT - OUT_OF_RANGE examples: GENERIC_400_INVALID_ARGUMENT: description: Invalid Argument. Generic Syntax Exception value: status: 400 code: INVALID_ARGUMENT message: Client specified an invalid argument, request body or query param. GENERIC_400_OUT_OF_RANGE: description: Out of Range. Specific Syntax Exception used when a given field has a pre-defined range or a invalid filter criteria combination is requested value: status: 400 code: OUT_OF_RANGE message: Client specified an invalid range. Generic404-KYC-T-V0: description: Not found headers: x-correlator: $ref: '#/components/headers/X-Correlator-KYC-T-V0' content: application/json: schema: allOf: - $ref: '#/components/schemas/ErrorInfo-KYC-T-V0' - type: object properties: status: enum: - 404 code: enum: - IDENTIFIER_NOT_FOUND examples: GENERIC_404_IDENTIFIER_NOT_FOUND: description: The phone number is not associated with a CSP customer account value: status: 404 code: IDENTIFIER_NOT_FOUND message: The phone number provided is not associated with a customer account Generic401-KYC-T-V0: description: Unauthorized headers: x-correlator: $ref: '#/components/headers/X-Correlator-KYC-T-V0' content: application/json: schema: allOf: - $ref: '#/components/schemas/ErrorInfo-KYC-T-V0' - type: object properties: status: enum: - 401 code: enum: - UNAUTHENTICATED - AUTHENTICATION_REQUIRED examples: GENERIC_401_UNAUTHENTICATED: description: Request cannot be authenticated value: status: 401 code: UNAUTHENTICATED message: Request not authenticated due to missing, invalid, or expired credentials. GENERIC_401_AUTHENTICATION_REQUIRED: description: New authentication is needed, authentication is no longer valid value: status: 401 code: AUTHENTICATION_REQUIRED message: New authentication is required. headers: X-Correlator-KYC-T-V0: description: Correlation id for the different services required: false schema: type: string pattern: ^[a-zA-Z0-9-]{1,55}$ example: b4333c46-49c0-4f62-80d7-f0ef930f1c46 parameters: x-rapidapi-host: name: x-rapidapi-host in: header required: true description: The API's Host value as defined in the RapidAPI Hub. schema: type: string example: network-as-code.p-eu.rapidapi.com securitySchemes: openId: description: OpenID Connect authentication type: openIdConnect openIdConnectUrl: https://example.com/.well-known/openid-configuration ApiKeyAuth: type: apiKey in: header name: x-rapidapi-key description: Your RapidAPI key externalDocs: description: Project documentation at Camara url: https://github.com/camaraproject/DeviceLocation x-refined-from: - nokia-network-as-code-camara-openapi.yml - nokia-network-as-code-platform-openapi.json