openapi: 3.0.0 info: title: 3gpp-ecr-control version: "1.0.0" externalDocs: description: 3GPP TS 29.122 V15.2.0 T8 reference point for Northbound APIs url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' security: - {} - oAuth2ClientCredentials: [] servers: - url: '{apiRoot}/3gpp-ecr-control/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. paths: /query: post: summary: Query the status of enhanced converage restriction for a UE. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ECRControl' responses: '200': description: The requested information was returned successfully. content: application/json: schema: $ref: '#/components/schemas/ECRData' '400': $ref: 'TS29122_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29122_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29122_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29122_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29122_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29122_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29122_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29122_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29122_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29122_CommonData.yaml#/components/responses/503' default: $ref: 'TS29122_CommonData.yaml#/components/responses/default' /configure: post: summary: Configure the enhanced converage restriction for a UE. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ECRControl' responses: '200': description: The Enhanced Coverage Restriction setting was configured successfully.. content: application/json: schema: $ref: '#/components/schemas/ECRData' '400': $ref: 'TS29122_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29122_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29122_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29122_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29122_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29122_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29122_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29122_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29122_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29122_CommonData.yaml#/components/responses/503' default: $ref: 'TS29122_CommonData.yaml#/components/responses/default' components: securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' scopes: {} schemas: ECRControl: type: object properties: supportedFeatures: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' externalId: $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' msisdn: $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' restrictedPlmnIds: type: array items: $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' minItems: 0 description: Indicates a complete list (and possibly empty) of serving PLMNs where Enhanced Coverage shall be restricted. This attribute shall not be present for the query custom operation. allowedPlmnIds: type: array items: $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' minItems: 0 description: Indicates a complete list (and possibly empty) of serving PLMNs where Enhanced Coverage shall be allowed. This attribute shall not be present for the query custom operation. required: - supportedFeatures oneOf: - required: [externalId] - required: [msisdn] not: required: [restrictedPlmnIds, allowedPlmnIds] ECRData: type: object properties: supportedFeatures: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' visitedPlmnId: $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' restrictedPlmnIds: type: array items: $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' minItems: 0 description: Indicates a complete list (and possibly empty) of serving PLMNs where Enhanced Coverage shall be restricted. allowedPlmnIds: type: array items: $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' minItems: 0 description: Indicates a complete list (and possibly empty) of serving PLMNs where Enhanced Coverage shall be allowed. required: - supportedFeatures not: required: [restrictedPlmnIds, allowedPlmnIds]