openapi: 3.0.0 info: title: 3gpp-am-policyauthorization version: 1.2.0 description: | API for AM policy authorization. © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: > 3GPP TS 29.522 V19.5.0; 5G System; Network Exposure Function Northbound APIs. url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' security: - {} - oAuth2ClientCredentials: [] servers: - url: '{apiRoot}/3gpp-am-policyauthorization/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. paths: /{afId}/app-am-contexts: post: summary: Creates a new Individual application AM Context resource operationId: PostAppAmContexts tags: - Application AM Contexts parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string requestBody: description: new resource creation required: true content: application/json: schema: $ref: '#/components/schemas/AppAmContextExpData' responses: '201': description: Created (Successful creation) content: application/json: schema: $ref: '#/components/schemas/AppAmContextExpRespData' headers: Location: description: Contains the URI of the newly created resource. required: true schema: type: string '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' callbacks: amEventNotification: '{$request.body#/evSubscs/eventNotifUri}': post: requestBody: description: Notification of an event occurrence. required: true content: application/json: schema: $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsNotification' responses: '204': description: The receipt of the notification is acknowledged '307': $ref: 'TS29122_CommonData.yaml#/components/responses/307' '308': $ref: 'TS29122_CommonData.yaml#/components/responses/308' '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' /{afId}/app-am-contexts/{appAmContextId}: get: summary: read an existing Individual application AM context operationId: GetAppAmContext tags: - Individual Application AM Context parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: appAmContextId in: path description: Identifier of the Individual application AM context required: true schema: type: string responses: '200': description: OK (A representation of the resource is successfully returned) content: application/json: schema: $ref: '#/components/schemas/AppAmContextExpData' '307': $ref: 'TS29122_CommonData.yaml#/components/responses/307' '308': $ref: 'TS29122_CommonData.yaml#/components/responses/308' '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' '406': $ref: 'TS29122_CommonData.yaml#/components/responses/406' '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' patch: summary: partial modifies an existing Individual application AM context operationId: ModAppAmContext tags: - Individual Application AM Context parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: appAmContextId in: path description: Identifier of the application AM context resource required: true schema: type: string requestBody: required: true content: application/merge-patch+json: schema: $ref: '#/components/schemas/AppAmContextExpUpdateData' responses: '200': description: > successful modification of the resource and a representation of that resource is returned. If a subscribed event is matched, the event notification is also included in the response. content: application/json: schema: $ref: '#/components/schemas/AppAmContextExpRespData' '204': description: The successful modification '307': $ref: 'TS29122_CommonData.yaml#/components/responses/307' '308': $ref: 'TS29122_CommonData.yaml#/components/responses/308' '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' delete: summary: Deletes an existing Individual Application AM Context operationId: DeleteAppAmContext tags: - Individual Application AM Context parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: appAmContextId in: path description: string identifying the Individual aaplication AM context resource required: true schema: type: string responses: '204': description: The deletion is confirmed without returning additional data. '307': $ref: 'TS29122_CommonData.yaml#/components/responses/307' '308': $ref: 'TS29122_CommonData.yaml#/components/responses/308' '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' /{afId}/app-am-contexts/{appAmContextId}/events-subscription: put: summary: creates or modifies an AM Policy Events Subscription sub-resource. operationId: UpdateAmEventsSubsc tags: - AM Policy Events Subscription parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: appAmContextId in: path description: string identifying the AM Policy Events Subscription subresource required: true schema: type: string requestBody: description: > Creation or modification of an application AM Policy Events Subscription sub-resource. required: true content: application/json: schema: $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsSubscData' responses: '201': description: > The creation of the application AM Policy Events Subscription sub-resource is confirmed and its representation is returned. If an AM Event is matched, the response also includes the notification. content: application/json: schema: $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsSubscRespData' headers: Location: description: > Contains the URI of the created AM Policy Events Subscription subresource, according to the structure {apiRoot}/3gpp-am-policyauthorization/v1/{afId}/app-am- contexts/{appAmContextId}/events-subscription} required: true schema: type: string '200': description: > The modification of the AM Policy Events Subscription subresource is confirmed and its representation is returned. If an AM Event is matched, the response also includes the notification. content: application/json: schema: $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsSubscRespData' '204': description: > The modification of the AM Policy Events Subscription subresource is confirmed without returning additional data. '307': $ref: 'TS29122_CommonData.yaml#/components/responses/307' '308': $ref: 'TS29122_CommonData.yaml#/components/responses/308' '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' callbacks: amEventNotification: '{$request.body#/evSubscs/eventNotifUri}': post: requestBody: description: Contains the information for the notification of an event occurrence. required: true content: application/json: schema: $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsNotification' responses: '204': description: The receipt of the notification is acknowledged. '307': $ref: 'TS29122_CommonData.yaml#/components/responses/307' '308': $ref: 'TS29122_CommonData.yaml#/components/responses/308' '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' delete: summary: deletes the AM Policy Events Subscription sub-resource operationId: DeleteAmEventsSubsc tags: - AM Policy Events Subscription parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: appAmContextId in: path description: string identifying the Individual Application AM Context resource. required: true schema: type: string responses: '204': description: > The deletion of the of the AM Policy Events Subscription subresource is confirmed without returning additional data. '307': $ref: 'TS29122_CommonData.yaml#/components/responses/307' '308': $ref: 'TS29122_CommonData.yaml#/components/responses/308' '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' '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: AppAmContextExpData: description: Represents an Individual application AM context exposure resource. type: object properties: self: $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' evSubscs: $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsSubscData' gpsi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' highThruInd: type: boolean covReqs: type: array items: $ref: '#/components/schemas/GeographicalArea' minItems: 1 nullable: true policyDuration: $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRm' sliceReplReq: $ref: '#/components/schemas/SliceReplReq' suppFeat: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' requestTestNotification: type: boolean description: > Set to true by the AF to request the NEF to send a test notification as defined in clause 5.2.5.3 of 3GPP TS 29.122. Set to false or omitted otherwise. websockNotifConfig: $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' required: - gpsi anyOf: - required: [highThruInd] - required: [covReqs] - required: [sliceReplReq] AppAmContextExpUpdateData: description: > Contains the modification(s) to be applied to the Individual application AM context exposure resource. type: object properties: evSubscs: $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsSubscDataRm' highThruInd: type: boolean covReqs: type: array items: $ref: '#/components/schemas/GeographicalArea' minItems: 1 policyDuration: $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRm' sliceReplReq: $ref: '#/components/schemas/SliceReplReq' GeographicalArea: description: Contains geographical area information (e.g.a civic address or shapes). type: object properties: civicAddress: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' shapes: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' AppAmContextExpRespData: description: > It represents a response to a modification or creation request of an Individual Application AM resource. It may contain the notification of the already met events anyOf: - $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AppAmContextData' - $ref: 'TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsNotification' SliceReplReqInfo: description: > Represents the AF requested Network Slice Replacement requirements information. type: object properties: snssai: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' altSnssai: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' afServId: type: string altAfServId: type: string oneOf: - required: [snssai, altSnssai] - required: [afServId, altAfServId] SliceReplReq: description: > Represents the requested Network Slice Replacement requirements. type: object properties: type: $ref: '#/components/schemas/SliceReplType' afSliceReplReq: $ref: '#/components/schemas/SliceReplReqInfo' required: - type # # ENUMERATIONS # SliceReplType: anyOf: - type: string enum: - INITIATE_AF_REQ_SLICE_REP - TERMINATE_AF_REQ_SLICE_REP - type: string description: > This string provides forward-compatibility with future extensions to the enumeration but is not used to encode content defined in the present version of this API. description: | Represents the type of the requested Network Slice Replacement. Possible values are: - INITIATE_AF_REQ_SLICE_REP: Indicates that the type of the requested Network Slice Replacement is the initiation of an AF requested Network Slice Replacement. - TERMINATE_AF_REQ_SLICE_REP: Indicates that the type of the requested Network Slice Replacement is the termination of a previously requested Network Slice Replacement from the AF.