3GPP TS 29.522 EAS Deployment API

API for AF provisioned EAS Deployment. An OpenAPI 3.0.0 document with 3 path(s), API version 1.2.0, published verbatim by 3GPP in 3GPP TS 29.522 as part of the 5G NEF Northbound (Network Exposure) suite and mirrored in the public 3GPP Forge GitLab repository.

OpenAPI Specification

3gpp-ts29522-easdeployment.yml Raw ↑
openapi: 3.0.0

info:
  title: 3gpp-eas-deployment
  version: 1.2.0
  description: |
    API for AF provisioned EAS Deployment.  
    © 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-eas-deployment/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122.

paths:
  /{afId}/eas-deployment-info:
    get:
      summary: Read all EAS Deployment information for a given AF
      operationId: ReadAllDeployment
      tags:
        - EAS Deployment Information (Collection)
      parameters:
        - name: afId
          in: path
          description: Identifier of the AF
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK (Successful get all of the EAS Deployment information for the AF)
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EasDeployInfo'
                minItems: 0
        '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'

    post:
      summary: Create a new Individual EAS Deployment information resource.
      operationId: CreateAnDeployment
      tags:
        - EAS Deployment Information (Collection)
      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/EasDeployInfo'
      responses:
        '201':
          description: Created (Successful creation)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EasDeployInfo'
          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'

  /{afId}/eas-deployment-info/{easDeployInfoId}:
    get:
      summary: Read an active Individual EAS Deployment Information resource for the AF
      operationId: ReadAnDeployment
      tags:
        - Individual EAS Deployment Information
      parameters:
        - name: afId
          in: path
          description: Identifier of the AF
          required: true
          schema:
            type: string
        - name: easDeployInfoId
          in: path
          description: Identifier of an EAS Deployment Information.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK (Successful get the active resource)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EasDeployInfo'
        '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'

    put:
      summary: Fully updates/replaces an existing resource
      operationId: FullyUpdateAnDeployment
      tags:
        - Individual EAS Deployment Information
      parameters:
        - name: afId
          in: path
          description: Identifier of the AF
          required: true
          schema:
            type: string
        - name: easDeployInfoId
          in: path
          description: Identifier of the EAS Deployment information resource
          required: true
          schema:
            type: string
      requestBody:
        description: Parameters to update/replace the existing resource
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EasDeployInfo'
      responses:
        '200':
          description: OK (Successful update of the existing resource)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EasDeployInfo'
        '204':
          description: >
            Successful case. The resource has been successfully updated and no additional content is 
            sent in the response message.
        '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 already existing EAS Deployment information resource
      operationId: DeleteAnDeployment
      tags:
        - Individual EAS Deployment Information
      parameters:
        - name: afId
          in: path
          description: Identifier of the AF
          required: true
          schema:
            type: string
        - name: easDeployInfoId
          in: path
          description: Identifier of the EAS Deployment information resource
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No Content (Successful deletion of the existing resource)
        '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'

  /remove-edis:
    post:
      summary: Remove EAS Deployment Information based on given criteria.
      operationId: DeleteEDIs
      tags:
        - EAS Deployment Information removal
      requestBody:
        description: Criteria to be used for deleting EAS Deployment Information that match them.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EdiDeleteCriteria'
        required: true
      responses:
        '204':
          description: >
            No Content. The EDIs matching the provided criteria have been successfully deleted.
        '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: 
    EasDeployInfo:
      description: Represents EAS Deployment Information.
      type: object
      properties:
        self:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Link'
        afServiceId:
          type: string
          description: >
            Contains a service on behalf of which the AF is issuing the request.
        fqdnPatternList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/FqdnPatternMatchingRule'
          minItems: 1
          description: >
            Contains the Supported FQDN pattern(s) for application(s) deployed in the Local
            part of the DN where each FQDN pattern is described by a FQDN Pattern Matching Rule.
        appId:
          type: string
          description: >
            Contains the application for which the EAS Deployment Information corresponds to.
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        snssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        externalGroupId:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId'
        dnaiInfos:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DnaiInformation'
          minProperties: 1
          description: >
            list of DNS server identifier (consisting of IP address and port) and/or IP address(s)
            of the EAS in the local DN for each DNAI. The key of map is the DNAI.
        targetAfId:
          type: string
          description: >
            Identifier of the AF that is responsible for the EAS associated with this EAS
            deployment information.
        n6DelayPerDnaiEas:
          type: array
          items:
            $ref: '#/components/schemas/N6DelayPerDnaiEas'
          minItems: 1
          description: >
            N6 delay measurement assistance information per DNAI and/or EAS.
        suppFeat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
      required:
        - fqdnPatternList

    DnaiInformation:
      description: Represents DNAI information.
      type: object
      properties:
        dnai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
        dnsServIds:
          type: array
          items:
            $ref: '#/components/schemas/DnsServerIdentifier'
          minItems: 1
          description: >
            Contains the list of DNS server identifier for each DNAI.
        easIpAddrs:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr'
          minItems: 1
          description: >
            Contains the IP address(s) of the EASs in the local DN for each DNAI.
      required:
        - dnai
      anyOf:
        - required: [dnsServIds]
        - required: [easIpAddrs]

    DnsServerIdentifier:
      description: Represents DNS server identifier (consisting of IP address and port).
      type: object
      properties:
        dnsServIpAddr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr'
        portNumber:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
      required:
        - dnsServIpAddr
        - portNumber

    EdiDeleteCriteria:
      description: >
        Contains criteria to be used for deleting EAS Deployment Information entries that match
        them.
      type: object
      properties:
        afId:
          $ref: 'TS29522_AKMA.yaml#/components/schemas/AfId'
        dnnSnssai:
          $ref: 'TS29522_AMInfluence.yaml#/components/schemas/DnnSnssaiInformation'
      anyOf:
        - required: [afId]
        - required: [dnnSnssai]

    N6DelayPerDnaiEas:
      description: Contains N6 delay measurement assistance information per DNAI and/or EAS.
      type: object
      properties:
        dnai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
        eas:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/EasServerAddress'
        n6DelayMeasureInfo:
          $ref: '#/components/schemas/N6DelayMeasurementInfo'
      required:
        - n6DelayMeasureInfo
      anyOf:
        - required: [dnai]
        - required: [eas]

    N6DelayMeasurementInfo:
      description: Contains N6 delay measurement assistance information.
      type: object
      properties:
        measureEndpointAddr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr'
        measureEndpointPort:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
        suppMeasProtocs:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/DelayMeasurementProtocol'
          minItems: 1
          description: Contains the list of supported N6 delay measurement protocols.
        configParams:
          type: string
          description: >
            Contains protocol-specific configuration parameters.
            The contents and the format are up to the implementation.
      required:
        - measureEndpointAddr