3GPP Activation Management API

The Activation Management API from 3GPP — 4 operation(s) for activation management.

Operations 7

POST /plan-activation-jobs Create a new plan activation job #
GET /plan-activation-jobs Get plan activation jobs #
GET /plan-activation-jobs/{id} Get plan activation job details by ID #
DELETE /plan-activation-jobs/{id} Delete a plan activation job by ID #
PATCH /plan-activation-jobs/{id} Cancel the activation job #
GET /plan-activation-jobs/{id}/status Get job status #
GET /plan-activation-jobs/{id}/activation-details Get activation details #

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-activation-management-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-activation-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 3GPP Plan Provisioning Management Activation Management API
  version: 19.2.0
  description: OAS 3.0.1 specification of API for managing network configuration plans and related jobs © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
servers:
- url: '{MnSRoot}/plan-management/{MnSVersion}'
  variables:
    MnSRoot:
      description: See clause 4.4.2 of TS 32.158
      default: http://example.com/cm
    MnSVersion:
      description: Version number of the OpenAPI definition
      default: v1
tags:
- name: Activation Management
paths:
  /plan-activation-jobs:
    post:
      tags:
      - Activation Management
      summary: Create a new plan activation job
      description: Creates and starts a new plan activation job based on an existing plan descriptor (or plan group descriptor or fallback descriptor).  The new job's ID will be generated by the server and returned in the Location header.
      operationId: createActivationJob
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActivationJobWritableProperties'
      responses:
        '201':
          description: Plan activation job created successfully. The response body provides job details, and the Location header points to the new job.
          headers:
            Location:
              description: URI of the created job resource.
              schema:
                type: string
                format: uri-reference
                example: /plan-activation-jobs/myjob-111
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivationJob'
        '400':
          description: Invalid request payload or parameters (e.g., malformed JSON, missing required fields).
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
    get:
      tags:
      - Activation Management
      summary: Get plan activation jobs
      description: Retrieve a list of plan activation jobs.
      operationId: getActivationJobs
      parameters:
      - in: query
        name: job-state
        schema:
          $ref: '#/components/schemas/JobState'
        description: Filter jobs by their current state.
        example: RUNNING
      responses:
        '200':
          description: List of plan activation jobs retrieved successfully.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/JobListEntry'
        '400':
          description: Invalid query parameters
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
  /plan-activation-jobs/{id}:
    parameters:
    - in: path
      name: id
      schema:
        type: string
        description: Unique identifier of the plan activation job.
        example: Dublin-plan-activation-001
      required: true
    get:
      tags:
      - Activation Management
      summary: Get plan activation job details by ID
      description: Retrieve detailed information about a specific plan activation job using its unique identifier.
      operationId: getActivationJobById
      responses:
        '200':
          description: Job details retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivationJob'
        '404':
          description: Job not found.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
    delete:
      tags:
      - Activation Management
      summary: Delete a plan activation job by ID
      description: Deletes a specific plan activation job, typically if it's not in a terminal state (e.g., running, completed, failed).
      operationId: deleteActivationJobById
      responses:
        '204':
          description: Job deleted successfully. No content is returned.
        '404':
          description: Job not found.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '409':
          description: Cannot delete job in its current state (e.g., already running).
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
    patch:
      tags:
      - Activation Management
      summary: Cancel the activation job
      description: Cancel the activation job
      operationId: cancelActivationJobById
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelRequest'
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/CancelRequest'
      responses:
        '202':
          description: Job cancel request was accepted and cancellation is ongoing
        '204':
          description: Job cancel request was successfully completed
        '404':
          description: Job not found.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Semantic error - e.g. job was not in RUNNING state
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
  /plan-activation-jobs/{id}/status:
    get:
      tags:
      - Activation Management
      summary: Get job status
      description: Retrieve the current status of a specific plan activation job using its unique identifier.
      operationId: getJobStatus
      parameters:
      - in: path
        name: id
        schema:
          type: string
          description: Unique identifier of the plan activation job.
          example: Dublin-plan-activation-001
        required: true
      responses:
        '200':
          description: Job status retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivationJobStatus'
        '404':
          description: Job not found.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
  /plan-activation-jobs/{id}/activation-details:
    get:
      tags:
      - Activation Management
      summary: Get activation details
      description: Retrieve detailed information about the activation results of a job
      operationId: getActivationDetails
      parameters:
      - in: path
        name: id
        schema:
          type: string
          description: Unique identifier of the plan activation job.
          example: Dublin-plan-activation-001
        required: true
      - name: expand
        in: query
        description: By default the activation details results shall include the FAILED operations only.  This parameter indicates whether to expand all details of the activation results to also include the 'SUCCEEDED' operations.
        required: false
        schema:
          type: string
          enum:
          - all
      responses:
        '200':
          description: Activation details retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionDetails'
        '404':
          description: Job not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
components:
  schemas:
    ActivationJobStatus:
      allOf:
      - type: object
        properties:
          jobState:
            $ref: '#/components/schemas/JobState'
          activationState:
            $ref: '#/components/schemas/ActivationState'
          startedAt:
            type: string
            format: date-time
          stoppedAt:
            type: string
            format: date-time
        required:
        - jobState
        - activationState
    Member:
      type: object
      description: "Defines a member identified by EITHER a single Plan Configuration Descriptor ID \nOR a Plan Configuration Group Descriptor ID, but not both.\n"
      oneOf:
      - type: object
        required:
        - planConfigDescrId
        properties:
          planConfigDescrId:
            type: string
            description: Unique id of the plan configuration descriptor.
            example: pcd-001
      - type: object
        required:
        - planConfigGroupDescrId
        properties:
          planConfigGroupDescrId:
            type: string
            description: Unique id of the plan configuration group descriptor.
            example: pgc-001
    PlanConfigurationGroupDescriptor:
      type: object
      required:
      - members
      properties:
        id:
          type: string
          description: Unique id of the plan group configuration descriptor
          example: plan-001
        name:
          type: string
          description: Descriptive name of the plan group configuration descriptor
          example: Rollout-5G-Dublin-East
        version:
          type: string
          description: version of the plan group configuration descriptor
          example: 1.0.0
        description:
          type: string
          description: Used to describe the purpose of the plan group configuration
          example: This is the plan for the new 5G rollout in Dublin east.
        customProperties:
          type: object
          description: A dynamic set of custom properties provided by client
          additionalProperties: true
          example:
            technology-type: NR
            location: Dublin
        isOrdered:
          type: boolean
          description: Specifies if the members of the planned configuration group are ordered. When ordered, the planned configuration group members shall be validated/activated in the specified order. When not ordered the planned configuration group members can be validated/activated in any order
          default: false
        isFailOnMemberConflicts:
          type: boolean
          description: Specifies if the activation shall fail on detection of conflicts between planned configuration group members, or if the operations shall be processed as if there were no conflicts
          default: false
        activationMode:
          type: string
          enum:
          - ATOMIC
          - BEST_EFFORT
          - STOP_ON_ERROR
          default: BEST_EFFORT
          description: Specifies the execution behavior when the plan configuration group is activated
          example: BEST_EFFORT
        validationState:
          type: string
          enum:
          - NOT_VALIDATED
          - PARTIALLY_VALID
          - VALID
          - INVALID
          default: NOT_VALIDATED
          description: The validation state for the last time plan configuration group was validated
          example: NOT_VALIDATED
        lastModifiedAt:
          type: string
          format: date-time
          description: the last time the plan was modified
          example: '2025-03-06T16:50:26-08:00'
        lastValidatedAt:
          type: string
          format: date-time
          description: last time the plan was validated
          example: '2025-03-06T16:50:29-08:00'
        members:
          type: array
          description: list of plan or plan group descriptor identifiers
          items:
            $ref: '#/components/schemas/Member'
          example:
          - planConfigDescrId: pcd-network-101
          - planConfigGroupDescrId: pgc-europe-east-group
          - planConfigDescrId: pcd-radio-tuning-005
          - planConfigGroupDescrId: pgc-5g-core-rollout
    ConfigChangeWritable:
      type: object
      properties:
        modifyOperator:
          type: string
          enum:
          - create
          - merge
          - merge-create
          - delete
          description: The operation to perform
          example: create
        description:
          type: string
          description: text describing the change
          example: modify NR cell for optimisation
        target:
          type: string
          description: Target data node path
          example: /_3gpp-common-subnetwork:SubNetwork=Irl/3gpp-common-mecontext:MeContext=Dublin-1/_3gpp_nrm_managedelement:ManagedElement=1/_3gpp_nrm_nrcelldu:NRCellDU=4
        changeId:
          description: The identifier of the operation. It may or may not be provided If provided, it shall be unique within an instance of "configChanges" and it shall be provided for all changes in "configChanges".
          example: cell-operation-001
        value:
          type: object
          additionalProperties: true
          description: Value to apply (for create/merge/merge-create operations)
      additionalProperties: true
      required:
      - modifyOperator
      - target
    ActivationJob:
      allOf:
      - $ref: '#/components/schemas/ActivationJobWritableProperties'
      - type: object
        properties:
          id:
            type: string
            description: id of the activation job
            example: job-id-3985199134
          jobState:
            allOf:
            - $ref: '#/components/schemas/JobState'
            example: COMPLETED
          activationState:
            allOf:
            - $ref: '#/components/schemas/ActivationState'
            example: ACTIVATED
          startedAt:
            type: string
            format: date-time
            example: '2024-12-02T13:16:54.088Z'
          stoppedAt:
            type: string
            format: date-time
            example: '2024-12-02T13:16:58.088Z'
          jobDetails:
            allOf:
            - $ref: '#/components/schemas/JobDetails'
          activationDetails:
            allOf:
            - $ref: '#/components/schemas/ExecutionDetails'
          cancelRequest:
            type: boolean
            description: This boolean attribute allows to request to cancel the activation process by setting its value to "True". Setting the value to "False" has no observable result. Once the value is set to "True" it is immutable
            default: false
          createdFallbackConfigDescrId:
            type: string
            description: Id of the created Fallback Plan Configuration Descriptor
            example: fallback-plan-descriptor-001
          _links:
            $ref: '#/components/schemas/ActivationJobLinks'
        required:
        - id
        - jobState
        - jobDetails
        - activationState
        - activationDetails
        - _links
        additionalProperties: true
    EmbeddedPlanGroup:
      type: object
      required:
      - planConfigGroupDescr
      properties:
        planConfigGroupDescr:
          $ref: '#/components/schemas/PlanConfigurationGroupDescriptor'
    ConfigChangesContentType:
      type: string
      description: The supported configuration content types.
      enum:
      - YANG_BASED
      - OPENAPI_BASED
      default: YANG_BASED
    PlanGroupRef:
      type: object
      required:
      - planConfigGroupDescrId
      properties:
        planConfigGroupDescrId:
          type: string
    LinkObject:
      type: object
      description: Defines the structure of a single hypermedia link.
      properties:
        href:
          type: string
          format: uri-reference
          description: The target URI of the link.
        templated:
          type: boolean
          description: Indicates if the href is a URI Template (RFC 6570).
          default: true
        type:
          type: string
          description: The content type expected when following this link (MIME type).
        title:
          type: string
          description: A human-readable title that describes the link's purpose.
        method:
          type: string
          enum:
          - GET
          - POST
          - PUT
          - DELETE
          - PATCH
          description: The HTTP method to use for this action link.
      required:
      - href
    SummaryStatus:
      type: object
      properties:
        notFinished:
          type: integer
          example: 1
        succeeded:
          type: integer
          example: 3
        failed:
          type: integer
          example: 3
        rollbackSucceeded:
          type: integer
          example: 0
        rollbackFailed:
          type: integer
          example: 0
        conflicting:
          type: integer
          example: 0
    PlanConfigurationDescriptorBaseProperties:
      type: object
      properties:
        name:
          type: string
          description: Descriptive name of the plan group configuration descriptor
          example: Rollout-5G-Dublin-East
        version:
          type: string
          description: The version of the planned configuration. Its format is implementation specific.
          example: 1.0.0
        description:
          type: string
          description: Used to describe the purpose of the plan configuration
          example: This is the plan for the new 5G rollout in Dublin east.
        customProperties:
          type: object
          description: A dynamic set of custom properties provided by client
          additionalProperties: true
          example:
            technology-type: NR
            location: Dublin
        configChangesContentType:
          $ref: '#/components/schemas/ConfigChangesContentType'
        activationMode:
          type: string
          enum:
          - ATOMIC
          - BEST_EFFORT
          - STOP_ON_ERROR
          default: BEST_EFFORT
          description: Specifies the execution behavior when the plan is activated
          example: BEST_EFFORT
    ErrorDetail:
      type: object
      properties:
        title:
          type: string
          description: A short, human-readable summary of the problem type
          example: Data already exists; cannot be created
        type:
          type: string
          description: The type of the error
          enum:
          - SCHEMA_VALIDATION_ERROR
          - DATA_NODE_TREE_ERROR
          - MODIFICATION_NOT_ALLOWED
          - ACCESS_CONTROL_CONFLICT
          - APPLICATION_LAYER_ERROR
          - SERVER_ERROR
          - OTHER
        reason:
          type: string
          enum:
          - NEW_DATA_NODE_NAME_INVALID
          - NEW_DATA_NODE_VALUE_INVALID
          - NEW_DATA_NODE_CONTAINMENT_INVALID
          - FINAL_DATA_NODE_VALUE_INVALID
          - FINAL_DATA_NODE_UNIQUENESS_INVALID
          - FINAL_DATA_NODE_MULTIPLICITY_INVALID
          - FINAL_DATA_NODE_CARDINALITY_INVALID
          - TARGET_DATA_NODE_NOT_FOUND
          - TARGET_DATA_NODE_PARENT_NOT_FOUND
          - TARGET_DATA_NODE_FOUND
          - TARGET_DATA_NODE_NOT_WRITABLE
          - TARGET_DATA_NODE_INVARIANT
          - TARGET_DATA_NODE_CREATION_NOT_ALLOWED
          - TARGET_DATA_NODE_DELETION_NOT_ALLOWED
          - ACCESS_DENIED
          - OTHER
          example: NEW_DATA_NODE_CONTAINMENT_INVALID
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem.
          example: NRCellDU=1234 already exists in the network
        badDataNode:
          type: string
          example: /_3gpp-common-subnetwork:SubNetwork=Irl/_3gpp-common-mecontext:MeContext=Dublin-1
        errorInfo:
          type: object
          description: additional error info (e.g. stackdump)
          additionalProperties: true
      required:
      - type
      - badDataNode
    FallbackPlanRef:
      type: object
      required:
      - fallbackConfigDescrId
      properties:
        fallbackConfigDescrId:
          type: string
    ExecutionDetails:
      type: object
      description: Details of the execution of the operations that are contained in the planned configuration or planned configuration group referenced in the job.
      properties:
        summary:
          $ref: '#/components/schemas/SummaryStatus'
        results:
          type: array
          items:
            $ref: '#/components/schemas/Result'
        memberConflicts:
          type: array
          items:
            $ref: '#/components/schemas/MemberConflict'
      example:
        summary:
          notFinished: 0
          succeeded: 1
          failed: 0
          rollbackSucceeded: 0
          rollbackFailed: 0
          conflicting: 0
        results: []
        memberConflicts: []
    JobState:
      type: string
      enum:
      - NOT_STARTED
      - QUEUED
      - RUNNING
      - CANCELLING
      - CANCELLED
      - COMPLETED
      - FAILED
      default: NOT_STARTED
      example: COMPLETED
    EmbeddedPlan:
      type: object
      required:
      - planConfigDescr
      properties:
        planConfigDescr:
          $ref: '#/components/schemas/PlanConfigurationDescriptorRequest'
    MemberConflict:
      type: object
      properties:
        memberConflict:
          type: array
          items:
            $ref: '#/components/schemas/MemberOp'
    ActivationJobWritableProperties:
      type: object
      properties:
        name:
          type: string
          description: Name of the activation job
          example: Dublin East Cell Deployment
        description:
          type: string
          description: Human-readable description of the job
          example: Optimize the Dublin area network
        mnsConsumerId:
          type: array
          description: The consumer that created and/or started the job. It may indicated a human user and/or one or more applications initiating the job. E.g. ["userid:janedoe", "appid:12314"]
          items:
            type: string
        isFallbackEnabled:
          type: boolean
          description: Whether fallback should be enabled for this job
          default: false
        serviceImpact:
          type: string
          enum:
          - LEAST_SERVICE_IMPACT
          - SHORTEST_TIME
          description: Additional job-specific parameters
          default: SHORTEST_TIME
        isImmediateActivation:
          type: boolean
          description: Specifies if the activation job shall start immediately or, alternatively, by conditional activation.
          default: true
      oneOf:
      - $ref: '#/components/schemas/PlanRef'
      - $ref: '#/components/schemas/PlanGroupRef'
      - $ref: '#/components/schemas/EmbeddedPlan'
      - $ref: '#/components/schemas/EmbeddedPlanGroup'
      - $ref: '#/components/schemas/FallbackPlanRef'
      example:
        name: 5G-Dublin-East-Rollout
        description: Optimize the 5G network in Dublin East
        planConfigDescr:
          activationMode: ATOMIC
          customProperties:
            technology-type: NR
            location: Dublin
          configChangesContentType: YANG_BASED
          configChanges:
          - modifyOperator: merge
            changeId: Dublin-Center_DC-01_555777999
            target: /SubNetwork=Dublin-Center/ManagedElement=DC-001/NRCellDU=1
            value:
              ssbDuration: 2
    PlanRef:
      type: object
      required:
      - planConfigDescrId
      properties:
        planConfigDescrId:
          type: string
    PlanConfigurationDescriptorRequest:
      allOf:
      - $ref: '#/components/schemas/PlanConfigurationDescriptorBaseProperties'
      - type: object
        required:
        - configChanges
        properties:
          configChanges:
            description: The plan configuration changes
            type: array
            items:
              $ref: '#/components/schemas/ConfigChangeWritable'
    CancelRequest:
      type: object
      properties:
        cancelRequest:
          type: boolean
          description: Must be set to true to initiate cancellation.
          enum:
          - true
      required:
      - cancelRequest
      additionalProperties: false
    ActivationState:
      type: string
      enum:
      - NOT_STARTED
      - ACTIVATED
      - ACTIVATION_FAILED
      - PARTIALLY_ACTIVATED
      - ACTIVATION_FAILED_ROLLED_BACK
      - ACTIVATION_FAILED_ROLLBACK_FAILED
      example: ACTIVATED
    ActivationJobLinks:
      allOf:
      - type: object
        properties:
          self:
            allOf:
            - $ref: '#/components/schemas/LinkObject'
            - type: object
              properties:
                href:
                  type: string
                  default: '{apiRoot}/plan-management/v1/plan-activation-jobs/{activationJobId}'
                title:
                  type: string
                  enum:
                  - Link to the plan activation job
                method:
                  type: string
                  enum:
                  - GET
              example:
                href: '{apiRoot}/plan-management/v1/plan-activation-jobs/activation-job-001'
                title: Link to the plan activation job
                type: application/json
                templated: true
                method: GET
          descriptor:
            description: A URI reference to the plan or plan group configuration descriptor
            allOf:
            - $ref: '#/components/schemas/LinkObject'
            - type: object
              properties:
                href:
                  type: string
                  example: '{apiRoot}/plan-management/v1/plan-descriptors/{id}'
                title:
                  type: string
                  enum:
                  - Link to the plan (or plan group) configuration descriptor
                method:
                  type: string
                  enum:
                  - GET
              example:
                href: '{apiRoot}/plan-management/v1/plan-descriptors/plan-descriptor-001'
                title: Link reference to the plan (or plan group) configuration descriptor
                type: application/json
                templated: true
                method: GET
          status:
            allOf:
            - $ref: '#/components/schemas/LinkObject'
            - type: object
              properties:
                href:
                  type: string
                  default: '{apiRoot}/plan-management/v1/plan-activation-jobs/{id}/status'
                title:
                  type: string
                  enum:
                  - Link to GET the job status
                method:
                  type: string
                  enum:
                  - GET
            description: A URI reference to the status information
            example:
              href: '{apiRoot}/plan-management/v1/plan-activation-jobs/myjob-111/status'
              title: Link to GET the job status
              type: application/json
              templated: true
              method: GET
          validationDetails:
            allOf:
            - $ref: '#/components/schemas/LinkObject'
            - type: object
              properties:
                href:
                  type: string
                  default: '{apiRoot}/plan-management/v1/plan-activation-jobs/{id}/activation-details'
                title:
                  type: string
                  enum:
                  - Link to GET the job details
                method:
                  type: string
                  enum:
                  - GET
            description: A URI reference to the status information
            example:
              href: '{apiRoot}/plan-management/v1/plan-activation-jobs/myjob-111/status'
              title: Link to GET the job status
              type: application/json
              templated: true
              method: GET
          cancel:
            allOf:
            - $ref: '#/components/schemas/LinkObject'
            - type: object
              properties:
                href:
                  type: string
                  default: '{apiRoot}/plan-management/v1/plan-activation-jobs/{id}'
                title:
                  type: string
                  enum:
                  - Link to cancel the job
                method:
                  type: string
                  enum:
                  - PATCH
            description: A URI reference to cancel the job
            example:
              href: '{apiRoot}/plan-management/v1/plan-activation-jobs/myjob-111'
              title: Link to cancel the job
              type: application/json
              templated: true
              method: PATCH
          fallback:
            allOf:
            - $ref: '#/components/schemas/LinkObject'
            description: A URI reference to the fallback plan descriptor
            example:
              href: '{apiRoot}/plan-management/v1/fallback-descriptors/fallback-myjob-111'
              templated: true
              type: application/json
              title: A URI reference to the fallback plan descriptor
              method: GET
        additionalProperties:
          $ref: '#/components/schemas/LinkObject'
        required:
        - self
        - descriptor
        - status
        - validationDetails
        - cancel
    MemberOp:
      type: object
      description: The identification of two or more operation members that have a conflict.
      properties:
        planConfigDescrId:
          type: string
          description: The plan configuration descriptor Id.
        target:
          description: The path of the target change resource.
          type: string
      required:
      - planConfigDescrId
      - target
      oneOf:
      - required:
        - changeId
        properties:
          changeId:
            type: string
            description: The identifier of the operation. It may or may not be provided If provided, it shall be unique within an instance of "configChanges" and it shall be provided for all changes in "configChanges".
            example: change-cell-001-1
      - required:
        - changeIndex
        properties:
          changeIndex:
            type: integer
            description: The identification of the operation. It is the positional index of the operation in the operation set ("changeIndex"). The positional index of the leftmost element is "0". Exactly one of "changeId" or "changeIndex" shall be provided.
            example: 0
    JobDetails:
      properties:
        message:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetail'
      additionalProperties: true
    JobListEntry:
      allOf:
      - type: object
        properties:
          id:
            type: string
            description: id of the job.
            example: plan-job-1
          name:
            type: string
            description: name of the job.
            example: Dublin East Rollout Job
          description:
            type: string
            description: description/purpose of the job.
            example: Job to do dublin east rollout
          jobState:
            $ref: '#/components/schemas/JobState'
        required:
        - id
        - jobState
    Result:
      type: object
      description: Details of the execution of the oper

# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/3gpp/refs/heads/main/openapi/3gpp-activation-management-api-openapi.yml