3GPP Individual trusted API invoker (Store) API

The Individual trusted API invoker (Store) API from 3GPP — 4 operation(s) for individual trusted api invoker (store).

Operations 6

GET /trustedInvokers/{apiInvokerId} Retrieve authentication information of an API invoker. #
PUT /trustedInvokers/{apiInvokerId} Create a security context for individual API invoker. #
DELETE /trustedInvokers/{apiInvokerId} Delete authorization of the individual trusted API invoker. #
POST /trustedInvokers/{apiInvokerId}/update Update security context. #
POST /trustedInvokers/{apiInvokerId}/delete Delete authorization of API invoker for some APIs. #
POST /securities/{securityId}/token Obtain the OAuth 2.0 authorization information. #

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-individual-trusted-api-invoker-store-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-individual-trusted-api-invoker-store-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CAPIF_Security_ Individual trusted API invoker (Store) API
  description: "API for CAPIF security management.  \n© 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  \nAll rights reserved.\n"
  version: 1.4.0
servers:
- url: '{apiRoot}/capif-security/v1'
  variables:
    apiRoot:
      default: https://example.com
      description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222.
tags:
- name: Individual trusted API invoker (Store)
paths:
  /trustedInvokers/{apiInvokerId}:
    get:
      summary: Retrieve authentication information of an API invoker.
      operationId: GetSecIndTrustedAPIInv
      tags:
      - Individual trusted API invoker (Store)
      parameters:
      - name: apiInvokerId
        in: path
        description: Identifier of an individual API invoker
        required: true
        schema:
          type: string
      - name: authenticationInfo
        in: query
        description: 'When set to ''true'', it indicates the CAPIF core function to send the authentication information of the API invoker. Set to false or omitted otherwise.

          '
        schema:
          type: boolean
      - name: authorizationInfo
        in: query
        description: 'When set to ''true'', it indicates the CAPIF core function to send the authorization information of the API invoker. Set to false or omitted otherwise.

          '
        schema:
          type: boolean
      responses:
        '200':
          description: 'The security related information of the API Invoker based on the request from the API exposing function.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceSecurity'
        '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
        '414':
          $ref: TS29122_CommonData.yaml#/components/responses/414
        '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: Create a security context for individual API invoker.
      operationId: CreateSecIndTrustedAPIInv
      tags:
      - Individual trusted API invoker (Store)
      parameters:
      - name: apiInvokerId
        in: path
        description: Identifier of an individual API invoker
        required: true
        schema:
          type: string
      requestBody:
        description: create a security context for an API invoker
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceSecurity'
      callbacks:
        notificationDestination:
          '{$request.body#/notificationDestination}':
            post:
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/SecurityNotification'
              responses:
                '204':
                  description: No Content (successful notification)
                '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
      responses:
        '201':
          description: Successful created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceSecurity'
          headers:
            Location:
              description: 'Contains the URI of the newly created resource, according to the structure {apiRoot}/capif-security/v1/trustedInvokers/{apiInvokerId}

                '
              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
        '411':
          $ref: TS29122_CommonData.yaml#/components/responses/411
        '413':
          $ref: TS29122_CommonData.yaml#/components/responses/413
        '414':
          $ref: TS29122_CommonData.yaml#/components/responses/414
        '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: Delete authorization of the individual trusted API invoker.
      operationId: DeleteSecIndTrustedAPIInv
      tags:
      - Individual trusted API invoker (Store)
      parameters:
      - name: apiInvokerId
        in: path
        description: Identifier of an individual API invoker
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content (Successful deletion of the existing subscription)
        '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
  /trustedInvokers/{apiInvokerId}/update:
    post:
      summary: Update security context.
      operationId: UpdateSecContIndAPIInv
      tags:
      - Individual trusted API invoker (Store)
      parameters:
      - name: apiInvokerId
        in: path
        description: Identifier of an individual API invoker
        required: true
        schema:
          type: string
      requestBody:
        description: Update the security context (e.g. re-negotiate the security methods).
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceSecurity'
      responses:
        '200':
          description: Successful updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceSecurity'
        '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
  /trustedInvokers/{apiInvokerId}/delete:
    post:
      summary: Delete authorization of API invoker for some APIs.
      operationId: DeleteAuthIndAPIInvForAPIs
      tags:
      - Individual trusted API invoker (Store)
      parameters:
      - name: apiInvokerId
        in: path
        description: Identifier of an individual API invoker
        required: true
        schema:
          type: string
      requestBody:
        description: Revoke the authorization of the API invoker for APIs.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecurityNotification'
      responses:
        '204':
          description: Successful revoked.
        '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
  /securities/{securityId}/token:
    post:
      summary: Obtain the OAuth 2.0 authorization information.
      operationId: GetOAuthIndAPIInv
      tags:
      - Individual trusted API invoker (Store)
      parameters:
      - name: securityId
        in: path
        description: Identifier of an individual API invoker
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AccessTokenReq'
      responses:
        '200':
          description: Successful Access Token Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessTokenRsp'
        '307':
          $ref: TS29122_CommonData.yaml#/components/responses/307
        '308':
          $ref: TS29122_CommonData.yaml#/components/responses/308
        '400':
          description: Error in the Access Token Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessTokenErr'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessTokenErr'
        '403':
          $ref: TS29571_CommonData.yaml#/components/responses/403
        '404':
          $ref: TS29571_CommonData.yaml#/components/responses/404
        '411':
          $ref: TS29571_CommonData.yaml#/components/responses/411
        '413':
          $ref: TS29571_CommonData.yaml#/components/responses/413
        '415':
          $ref: TS29571_CommonData.yaml#/components/responses/415
        '429':
          $ref: TS29571_CommonData.yaml#/components/responses/429
        '500':
          $ref: TS29571_CommonData.yaml#/components/responses/500
        '503':
          $ref: TS29571_CommonData.yaml#/components/responses/503
        default:
          $ref: TS29571_CommonData.yaml#/components/responses/default
components:
  schemas:
    SecurityInformation:
      type: object
      description: Represents the interface details and the security method.
      properties:
        interfaceDetails:
          $ref: TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/InterfaceDescription
        aefId:
          type: string
          description: Identifier of the API exposing function
        apiId:
          type: string
          description: API identifier
        prefSecurityMethods:
          type: array
          items:
            $ref: TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/SecurityMethod
          minItems: 1
          description: Security methods preferred by the API invoker for the API interface.
        selSecurityMethod:
          $ref: TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/SecurityMethod
        authenticationInfo:
          type: string
          description: Authentication related information
        authorizationInfo:
          type: string
          description: Authorization related information
        grantType:
          type: array
          items:
            $ref: '#/components/schemas/OAuthGrantType'
          minItems: 1
      required:
      - prefSecurityMethods
      oneOf:
      - required:
        - interfaceDetails
      - required:
        - aefId
    Cause:
      anyOf:
      - type: string
        enum:
        - OVERLIMIT_USAGE
        - UNEXPECTED_REASON
        - AUTHORIZATION_ISSUE
        - OTHER_REASON
      - 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 cause for revoking the API invoker's authorization to the service API.  \nPossible values are:\n- OVERLIMIT_USAGE:\n     The revocation of the authorization of the API invoker is due to the overlimit\n     usage of the service API\n- UNEXPECTED_REASON:\n     The revocation of the authorization of the API invoker is due to unexpected reason.\n- AUTHORIZATION_ISSUE:\n     The revocation of the authorization of the API invoker is due to API Invoker\n     not being authorized anymore by the API Provider.\n- OTHER_REASON:\n     The revocation of the authorization of the API invoker is due to other reason.\n"
    AccessTokenErr:
      type: object
      description: Represents an error in the access token request.
      properties:
        error:
          type: string
          enum:
          - invalid_request
          - invalid_client
          - invalid_grant
          - unauthorized_client
          - unsupported_grant_type
          - invalid_scope
        error_description:
          type: string
        error_uri:
          type: string
      required:
      - error
    AccessTokenReq:
      format: x-www-form-urlencoded
      description: Represents the access token request information.
      properties:
        grant_type:
          type: string
          enum:
          - client_credentials
          - authorization_code
        client_id:
          type: string
        resOwnerId:
          $ref: '#/components/schemas/ResOwnerId'
        client_secret:
          type: string
        scope:
          type: string
        authCode:
          type: string
        redirect_uri:
          type: string
      required:
      - grant_type
      - client_id
    OAuthGrantType:
      anyOf:
      - type: string
        enum:
        - CLIENT_CREDENTIALS
        - AUTHORIZATION_CODE
        - AUTHORIZATION_CODE_WITH_PKCE
      - type: string
        description: 'This string provides forward-compatibility with future extensions to the enumeration and is not used to encode content defined in the present version of this API.

          '
      description: "Indicates the supported authorization flow (e.g. client credentials flow, authorization code\nflow, etc.) to the API invoker.  \nPossible values are:\n- CLIENT_CREDENTIALS: Indicate that the grant type is is client credentials flow.\n- AUTHORIZATION_CODE: Indicate that the grant type is authorization code.\n- AUTHORIZATION_CODE_WITH_PKCE: Indicate that the grant type is authorization code with PKCE.\n"
    SecurityNotification:
      type: object
      description: Represents the revoked authorization notification details.
      properties:
        apiInvokerId:
          type: string
          description: String identifying the API invoker assigned by the CAPIF core function.
        aefId:
          type: string
          description: String identifying the AEF.
        apiIds:
          type: array
          items:
            type: string
          minItems: 1
          description: Identifier of the service API
        accessToken:
          type: string
          description: 'JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims).

            '
        cause:
          $ref: '#/components/schemas/Cause'
      required:
      - apiInvokerId
      - apiIds
      - cause
    AccessTokenRsp:
      type: object
      description: Represents the access token response information.
      properties:
        access_token:
          type: string
          description: 'JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims)

            '
        token_type:
          type: string
          enum:
          - Bearer
        expires_in:
          $ref: TS29122_CommonData.yaml#/components/schemas/DurationSec
        scope:
          type: string
      required:
      - access_token
      - token_type
      - expires_in
    ResOwnerId:
      type: object
      description: 'Represents the identifier of the resource owner.

        '
      properties:
        gpsi:
          $ref: TS29571_CommonData.yaml#/components/schemas/Gpsi
      anyOf:
      - required:
        - gpsi
    ServiceSecurity:
      type: object
      description: 'Represents the details of the security method for each service API interface. When included by the API invoker, it indicates the preferred method of security. When included by the CAPIF core function, it indicates the security method to be used for the service API interface.

        '
      properties:
        securityInfo:
          type: array
          items:
            $ref: '#/components/schemas/SecurityInformation'
          minimum: 1
        notificationDestination:
          $ref: TS29122_CommonData.yaml#/components/schemas/Uri
        requestTestNotification:
          type: boolean
          description: 'Set to true by API invoker to request the CAPIF core function to send a test notification as defined in in clause 7.6. Set to false or omitted otherwise.

            '
        websockNotifConfig:
          $ref: TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig
        supportedFeatures:
          $ref: TS29571_CommonData.yaml#/components/schemas/SupportedFeatures
      required:
      - securityInfo
      - notificationDestination
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/