3GPP APF published APIs (Collection) API

The APF published APIs (Collection) API from 3GPP — 1 operation(s) for apf published apis (collection).

Operations 2

POST /{apfId}/service-apis #
GET /{apfId}/service-apis #

Documentation

📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.104/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28104_MdaNrm.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28104_MdaReport.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.105/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28105_AiMlNrm.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.111/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28111_FaultNotifications.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28111_FaultNrm.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.310/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28310_EnergyInformationNrm.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.312/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28312_IntentExpectations.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28312_IntentNrm.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.317/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28317_RanScNrm.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.318/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28318_DsoNrm.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.319/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28319_MsacNrm.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.531/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28531_NSProvMnS.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28531_NSSProvMnS.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.532/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28532_FileDataReportingMnS.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28532_HeartbeatNtf.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28532_PerfMnS.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28532_ProvMnS.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28532_StreamingDataMnS.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.536/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28536_CoslaNrm.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.538/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28538_EdgeNrm.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.541/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28541_5GcNrm.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28541_NrNrm.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28541_SliceNrm.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.550/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28550_PerfMeasJobCtrlMnS.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.561/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28561_NdtNrm.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.567/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28567_CclNrm.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.572/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28572_PlanManagement.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/28_series/28.623/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28623_ComDefs.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28623_FeatureNrm.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28623_FileManagementNrm.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28623_GenericNrm.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28623_MnSRegistryNrm.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28623_PmControlNrm.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28623_QoEMeasurementCollectionNrm.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28623_SubscriptionControlNrm.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28623_ThresholdMonitorNrm.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS28623_TraceControlNrm.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_AsSessionWithQoS.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_ChargeableParty.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_CommonData.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_CpProvisioning.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_DeviceTriggering.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_ECRControl.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_GMDviaMBMSbyMB2.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_GMDviaMBMSbyxMB.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_MonitoringEvent.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_MsisdnLessMoSms.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_NIDD.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_NpConfiguration.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_PfdManagement.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_RacsParameterProvisioning.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_ReportingNetworkStatus.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29122_ResourceManagementOfBdt.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29222_AEF_Security_API.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29222_CAPIF_Access_Control_Policy_API.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29222_CAPIF_API_Invoker_Management_API.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29222_CAPIF_API_Provider_Management_API.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29222_CAPIF_Auditing_API.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29222_CAPIF_Discover_Service_API.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29222_CAPIF_Events_API.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29222_CAPIF_Logging_API_Invocation_API.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29222_CAPIF_Open_Discover_Service_API.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29222_CAPIF_Publish_Service_API.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29222_CAPIF_Routing_Info_API.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29222_CAPIF_Security_API.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/29_series/29.512/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS29512_Npcf_SMPolicyControl.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/29_series/29.514/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS29514_Npcf_PolicyAuthorization.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/29_series/29.520/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS29520_Nnwdaf_AnalyticsInfo.yaml
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS29520_Nnwdaf_EventsSubscription.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_5GLANParameterProvision.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_ACSParameterProvision.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_AddressingParamProvision.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_AIoT.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_AKMA.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_AMInfluence.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_AMPolicyAuthorization.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_AnalyticsExposure.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_ApplyingBdtPolicy.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_ASTI.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_CagInfoParamProvision.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_DataReporting.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_DataReportingProvisioning.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_DNAIMapping.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_EASDeployment.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_ECSAddress.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_EcsAddressProvision.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_GroupParametersProvisioning.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_ImsEventExposure.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_ImsParamProvision.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_ImsSessionManagement.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_IPTVConfiguration.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_LpiParameterProvision.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_MBSGroupMsgDelivery.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_MBSSession.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_MBSTMGI.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_MBSUserDataIngestSession.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_MBSUserService.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_MemberUESelectionAssistance.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_MoLcsNotify.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_MSEventExposure.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_NIDDConfigurationTrigger.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_PDTQPolicyNegotiation.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_RSLPPIParametersProvisioning.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_ServiceParameter.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_SliceParamProvision.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_TimeSyncExposure.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_TrafficInfluence.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_UAVFlightAssistance.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_UEAddress.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_UEId.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_VFLInference.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_VFLNFDiscovery.yaml
📖
APIReference
https://forge.3gpp.org/rep/all/5G_APIs/-/raw/REL-20/TS29522_VFLTraining.yaml
📖
Documentation
https://www.3gpp.org/ftp/Specs/archive/29_series/29.571/
📖
APIReference
https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-19/OpenAPI/TS29571_CommonData.yaml

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/3gpp-apf-published-apis-collection-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

3gpp-apf-published-apis-collection-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CAPIF_Publish_Service_ APF published APIs (Collection) API
  description: "API for publishing service APIs.  \n© 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  \nAll rights reserved.\n"
  version: 1.4.0
servers:
- url: '{apiRoot}/published-apis/v1'
  variables:
    apiRoot:
      default: https://example.com
      description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222.
tags:
- name: APF published APIs (Collection)
paths:
  /{apfId}/service-apis:
    post:
      description: Publish a new API.
      operationId: CreateAPFPubAPIs
      tags:
      - APF published APIs (Collection)
      parameters:
      - name: apfId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceAPIDescription'
      responses:
        '201':
          description: 'Service API published successfully The URI of the created resource shall be returned in the "Location" HTTP header.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceAPIDescription'
          headers:
            Location:
              description: 'Contains the URI of the newly created resource, according to the structure  {apiRoot}/published-apis/v1/{apfId}/service-apis/{serviceApiId}

                '
              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
    get:
      description: Retrieve all published APIs.
      operationId: GetAPFPubAPIs
      tags:
      - APF published APIs (Collection)
      parameters:
      - name: apfId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: 'Definition of all service API(s) published by the API publishing function. If an empty array is provided, it indicates that there is no active published API at the CCF.

            '
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceAPIDescription'
                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
components:
  schemas:
    CommunicationType:
      anyOf:
      - type: string
        enum:
        - REQUEST_RESPONSE
        - SUBSCRIBE_NOTIFY
      - 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: "Indicates a communication type of the resource or the custom operation.  \nPossible values are:\n- REQUEST_RESPONSE: The communication is of the type request-response.\n- SUBSCRIBE_NOTIFY: The communication is of the type subscribe-notify.\n"
    DataFormat:
      anyOf:
      - type: string
        enum:
        - JSON
        - XML
        - PROTOBUF3
      - 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: "Indicates a data format.  \nPossible values are:\n- JSON: Indicates that the data format is JSON.\n- XML: Indicates that the data format is Extensible Markup Language.\n- PROTOBUF3: Indicates that the data format is Protocol buffers version 3.\n"
    InterfaceDescription:
      type: object
      description: Represents the description of an API's interface.
      properties:
        ipv4Addr:
          $ref: TS29122_CommonData.yaml#/components/schemas/Ipv4Addr
        ipv6Addr:
          $ref: TS29122_CommonData.yaml#/components/schemas/Ipv6Addr
        fqdn:
          $ref: TS29571_CommonData.yaml#/components/schemas/Fqdn
        port:
          $ref: TS29122_CommonData.yaml#/components/schemas/Port
        apiPrefix:
          type: string
          description: 'A string representing a sequence of path segments that starts with the slash character.

            '
        securityMethods:
          type: array
          items:
            $ref: '#/components/schemas/SecurityMethod'
          minItems: 1
          description: 'Security methods supported by the interface, it take precedence over the security methods provided in AefProfile, for this specific interface.

            '
        grantTypes:
          type: array
          items:
            $ref: TS29222_CAPIF_Security_API.yaml#/components/schemas/OAuthGrantType
          minItems: 1
      oneOf:
      - required:
        - ipv4Addr
      - required:
        - ipv6Addr
      - required:
        - fqdn
    AefProfile:
      type: object
      description: Represents the AEF profile data.
      properties:
        aefId:
          type: string
          description: Identifier of the API exposing function
        versions:
          type: array
          items:
            $ref: '#/components/schemas/Version'
          minItems: 1
          description: API version
        protocol:
          $ref: '#/components/schemas/Protocol'
        dataFormat:
          $ref: '#/components/schemas/DataFormat'
        securityMethods:
          type: array
          items:
            $ref: '#/components/schemas/SecurityMethod'
          minItems: 1
          description: Security methods supported by the AEF
        grantTypes:
          type: array
          items:
            $ref: TS29222_CAPIF_Security_API.yaml#/components/schemas/OAuthGrantType
          minItems: 1
        domainName:
          type: string
          description: Domain to which API belongs to
        interfaceDescriptions:
          type: array
          items:
            $ref: '#/components/schemas/InterfaceDescription'
          minItems: 1
          description: Interface details
        aefLocation:
          $ref: '#/components/schemas/AefLocation'
        serviceKpis:
          $ref: '#/components/schemas/ServiceKpis'
        ueIpRange:
          $ref: '#/components/schemas/IpAddrRange'
      required:
      - aefId
      - versions
      oneOf:
      - required:
        - domainName
      - required:
        - interfaceDescriptions
    ApiStatus:
      type: object
      description: 'Represents the API status.

        '
      properties:
        aefIds:
          type: array
          items:
            type: string
          description: "Indicates the list of AEF ID(s) where the API is active. If an empty array is provided, it indicates that the API is inactive in all AEF(s). \n"
      required:
      - aefIds
    ShareableInformation:
      type: object
      description: 'Indicates whether the service API and/or the service API category can be shared to the list of CAPIF provider domains.

        '
      properties:
        isShareable:
          type: boolean
          description: 'Indicates whether the service API and/or the service API category can be shared to the list of CAPIF provider domain information. true indicates that the service API and/or the service API category can be shared to the list of CAPIF provider domain information. false indicates that the service API and/or the service API category can not be shared to the list of CAPIF provider domain information.

            '
        capifProvDoms:
          type: array
          items:
            type: string
          minItems: 1
          description: 'List of CAPIF provider domains to which the service API information to be shared.

            '
      required:
      - isShareable
    IpAddrRange:
      description: Represents the list of public IP ranges
      type: object
      properties:
        ueIpv4AddrRanges:
          type: array
          items:
            $ref: TS29571_CommonData.yaml#/components/schemas/Ipv4AddressRange
          description: Represents the IPv4 Address ranges of the UE(s).
          minItems: 1
        ueIpv6AddrRanges:
          type: array
          items:
            $ref: TS29571_CommonData.yaml#/components/schemas/Ipv6AddressRange
          description: Represents the Ipv6 Address ranges of the UE(s).
          minItems: 1
      anyOf:
      - required:
        - ueIpv4AddrRanges
      - required:
        - ueIpv6AddrRanges
    AefLocation:
      description: 'Represents the location information (e.g. civic address, GPS coordinates, data center ID) where the AEF providing the service API is located.

        '
      type: object
      properties:
        civicAddr:
          $ref: TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress
        geoArea:
          $ref: TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea
        dcId:
          type: string
          description: 'Identifies the data center where the AEF providing the service API is located.

            '
    Operation:
      anyOf:
      - type: string
        enum:
        - GET
        - POST
        - PUT
        - PATCH
        - DELETE
      - 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: "Indicates an HTTP method.  \nPossible values are:\n- GET: HTTP GET method.\n- POST: HTTP POST method.\n- PUT: HTTP PUT method.\n- PATCH: HTTP PATCH method.\n- DELETE: HTTP DELETE method.\n"
    SecurityMethod:
      anyOf:
      - type: string
        enum:
        - PSK
        - PKI
        - OAUTH
      - 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: "Indicates the security method.  \nPossible values are:\n- PSK: Security method 1 (Using TLS-PSK) as described in 3GPP TS 33.122.\n- PKI: Security method 2 (Using PKI) as described in 3GPP TS 33.122.\n- OAUTH: Security method 3 (TLS with OAuth token) as described in 3GPP TS 33.122.\n"
    Resource:
      type: object
      description: Represents the API resource data.
      properties:
        resourceName:
          type: string
          description: Resource name
        commType:
          $ref: '#/components/schemas/CommunicationType'
        uri:
          type: string
          description: 'Relative URI of the API resource, it is set as {apiSpecificSuffixes} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122.

            '
        custOpName:
          type: string
          description: 'it is set as {custOpName} part of the URI structure for a custom operation associated with a resource as defined in clause 5.2.4 of 3GPP TS 29.122.

            '
        custOperations:
          type: array
          items:
            $ref: '#/components/schemas/CustomOperation'
          minItems: 1
          description: 'Custom operations associated with this resource.

            '
        operations:
          type: array
          items:
            $ref: '#/components/schemas/Operation'
          minItems: 1
          description: 'Supported HTTP methods for the API resource. Only applicable when the protocol in AefProfile indicates HTTP.

            '
        description:
          type: string
          description: Text description of the API resource
      required:
      - resourceName
      - commType
      - uri
    CustomOperation:
      type: object
      description: Represents the description of a custom operation.
      properties:
        commType:
          $ref: '#/components/schemas/CommunicationType'
        custOpName:
          type: string
          description: 'it is set as {custOpName} part of the URI structure for a custom operation without resource association as defined in clause 5.2.4 of 3GPP TS 29.122.

            '
        operations:
          type: array
          items:
            $ref: '#/components/schemas/Operation'
          minItems: 1
          description: 'Supported HTTP methods for the API resource. Only applicable when the protocol in AefProfile indicates HTTP.

            '
        description:
          type: string
          description: Text description of the custom operation
      required:
      - commType
      - custOpName
    ServiceKpis:
      type: object
      description: 'Represents information about the service characteristics provided by a service API.

        '
      properties:
        maxReqRate:
          $ref: TS29571_CommonData.yaml#/components/schemas/Uinteger
        maxRestime:
          $ref: TS29122_CommonData.yaml#/components/schemas/DurationSec
        availability:
          $ref: TS29571_CommonData.yaml#/components/schemas/Uinteger
        avalComp:
          type: string
          pattern: ^\d+(\.\d+)? (kFLOPS|MFLOPS|GFLOPS|TFLOPS|PFLOPS|EFLOPS|ZFLOPS)$
          description: 'The maximum compute resource available in FLOPS for the API Invoker.

            '
        avalGraComp:
          type: string
          pattern: ^\d+(\.\d+)? (kFLOPS|MFLOPS|GFLOPS|TFLOPS|PFLOPS|EFLOPS|ZFLOPS)$
          description: 'The maximum graphical compute resource in FLOPS available for the API Invoker.

            '
        avalMem:
          type: string
          pattern: ^\d+(\.\d+)? (KB|MB|GB|TB|PB|EB|ZB|YB)$
          description: 'The maximum memory resource available for the API Invoker.

            '
        avalStor:
          type: string
          pattern: ^\d+(\.\d+)? (KB|MB|GB|TB|PB|EB|ZB|YB)$
          description: 'The maximum storage resource available for the API Invoker.

            '
        conBand:
          $ref: TS29571_CommonData.yaml#/components/schemas/Uinteger
    ServiceAPIDescription:
      type: object
      description: Represents the description of a service API as published by the APF.
      properties:
        apiName:
          type: string
          description: 'Contains the API name set to the value of the "<apiName>" placeholder of the API URI as defined in clause 5.2.4 of 3GPP TS 29.122 [14].

            '
        apiId:
          type: string
          description: 'API identifier assigned by the CAPIF core function to the published service API. Shall not be present in the HTTP POST request from the API publishing function to the CAPIF core function. Shall be present in the HTTP POST response from the CAPIF core function to the API publishing function and in the HTTP GET response from the CAPIF core function to the API invoker (discovery API).

            '
        apiStatus:
          $ref: '#/components/schemas/ApiStatus'
        aefProfiles:
          type: array
          items:
            $ref: '#/components/schemas/AefProfile'
          minItems: 1
          description: 'AEF profile information, which includes the exposed API details (e.g. protocol).

            '
        description:
          type: string
          description: Text description of the API
        supportedFeatures:
          $ref: TS29571_CommonData.yaml#/components/schemas/SupportedFeatures
        shareableInfo:
          $ref: '#/components/schemas/ShareableInformation'
        serviceAPICategory:
          type: string
          description: The service API category to which the service API belongs to.
        apiSuppFeats:
          $ref: TS29571_CommonData.yaml#/components/schemas/SupportedFeatures
        pubApiPath:
          $ref: '#/components/schemas/PublishedApiPath'
        ccfId:
          type: string
          description: CAPIF core function identifier.
        apiProvName:
          type: string
          description: Represents the API provider name.
        netSliceInfo:
          type: array
          items:
            $ref: TS29435_NSCE_PolicyManagement.yaml#/components/schemas/NetSliceId
          minItems: 1
          description: Represents the applicable network slice identifiers.
      required:
      - apiName
    Protocol:
      anyOf:
      - type: string
        enum:
        - HTTP_1_1
        - HTTP_2
        - MQTT
        - WEBSOCKET
      - 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: "Indicates a protocol and protocol version used by the API.  \nPossible values are:\n- HTTP_1_1: Indicates that the protocol is HTTP version 1.1.\n- HTTP_2: Indicates that the protocol is HTTP version 2.\n- MQTT: Indicates that the protocol is Message Queuing Telemetry Transport.\n- WEBSOCKET: Indicates that the protocol is Websocket.\n"
    PublishedApiPath:
      type: object
      description: Represents the published API path within the same CAPIF provider domain.
      properties:
        ccfIds:
          type: array
          items:
            type: string
          minItems: 1
          description: A list of CCF identifiers where the service API is already published.
    Version:
      type: object
      description: Represents the API version information.
      properties:
        apiVersion:
          type: string
          description: API major version in URI (e.g. v1)
        expiry:
          $ref: TS29122_CommonData.yaml#/components/schemas/DateTime
        resources:
          type: array
          items:
            $ref: '#/components/schemas/Resource'
          minItems: 1
          description: Resources supported by the API.
        custOperations:
          type: array
          items:
            $ref: '#/components/schemas/CustomOperation'
          minItems: 1
          description: Custom operations without resource association.
      required:
      - apiVersion
externalDocs:
  description: 3GPP TS 29.222 V19.5.0 Common API Framework for 3GPP Northbound APIs
  url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/