openapi: 3.2.0 info: title: CAPIF_API_Invoker_Management_ On-boarded API Invokers (Collection) API version: 1.4.0 description: "API for API invoker management. \n© 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). \nAll rights reserved.\n" servers: - url: '{apiRoot}/api-invoker-management/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222 tags: - name: On-boarded API Invokers (Collection) paths: /onboardedInvokers: post: summary: Request the Creation of a new On-boarded API Invoker. operationId: CreateOnboardedAPIInvoker tags: - On-boarded API Invokers (Collection) requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/APIInvokerEnrolmentDetails' responses: '201': description: 'Created. The API Invoker is successfully on-boarded. ' content: application/json: schema: $ref: '#/components/schemas/APIInvokerEnrolmentDetails' headers: Location: description: 'Contains the URI of the newly created resource. ' required: true schema: type: string '202': description: 'Accepted. The CCF accepted the Onboarding request and is processing it. ' '400': $ref: TS29122_CommonData.yaml#/components/responses/400 '401': $ref: TS29122_CommonData.yaml#/components/responses/401 '403': $ref: TS29122_CommonData.yaml#/components/responses/403 '404': $ref: TS29122_CommonData.yaml#/components/responses/404 '411': $ref: TS29122_CommonData.yaml#/components/responses/411 '413': $ref: TS29122_CommonData.yaml#/components/responses/413 '415': $ref: TS29122_CommonData.yaml#/components/responses/415 '429': $ref: TS29122_CommonData.yaml#/components/responses/429 '500': $ref: TS29122_CommonData.yaml#/components/responses/500 '503': $ref: TS29122_CommonData.yaml#/components/responses/503 default: $ref: TS29122_CommonData.yaml#/components/responses/default callbacks: notificationDestination: '{$request.body#/notificationDestination}': post: requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OnboardingNotification' responses: '204': description: 'No Content. The onboarding notification is successfully received. ' '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 components: schemas: APIList: type: object description: Represents a list of APIs with the corresponding information. properties: serviceAPIDescriptions: type: array items: $ref: TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/ServiceAPIDescription minItems: 1 description: 'Represents the list of service APIs that the API Invoker is allowed to invoke. ' EnrolFailCause: anyOf: - type: string enum: - AUTHORIZATION_ISSUE - ONBOARDING_CRI_NOT_MET - UNSPECIFIED - type: string description: 'This string provides forward-compatibility with future extensions to the enumeration but is not used to encode content defined in the present version of this API. ' description: "Represents API Invoker's per API enrollment failure code. \nPossible values are:\n- AUTHORIZATION_ISSUE: Indicates that the service API enrollment failed because the service\n API is not authorized for the API Invoker.\n- ONBOARDING_CRI_NOT_MET: Indicates that the service API entollment failed because the\n onboarding criteria not met for this service API for the API Invoker.\n- UNSPECIFIED: Indicates that the service API enrollment failed due to an unspecified\n reason.\n" OnboardingCriteria: type: object description: Represents the onboarding criteria information. properties: secMethods: type: array items: $ref: TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/SecurityMethod minItems: 1 relatedCriteria: $ref: '#/components/schemas/RelatedCriteria' required: - secMethods ApiInfo: type: object description: Represents service API identification related information. properties: apiName: type: string supportedApiVersions: type: array items: type: string minItems: 1 required: - apiName EnrolFailReason: type: object description: Represents the failure reason for not those APIs not enrolled successfully. properties: apiName: items: type: string failureCode: $ref: '#/components/schemas/EnrolFailCause' required: - apiName - failureCode OnboardingFailReason: anyOf: - type: string enum: - API_INVOKER_NOT_ALLOWED - ONBOARDING_CRI_NOT_MET - OTHER - 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: "Represents the API Invoker onboarding failure reason. \nPossible values are:\n- API_INVOKER_NOT_ALLOWED: Indicates that the onboarding of the API Invoker failed because\n the API Invoker is not allowed.\n- ONBOARDING_CRI_NOT_MET: Indicates that the onboarding of the API Invoker failed because\n the onboarding criteria is not met.\n- OTHER: Indicates that the onboarding of the API Invoker failed because of other reasons.\n" APIInvokerEnrolmentDetails: description: Represents the onboarding information of the API Invoker. type: object properties: apiInvokerId: type: string description: 'API invoker ID assigned by the CAPIF core function to the API invoker while on-boarding the API invoker. Shall not be present in the HTTP POST request from the API invoker to the CAPIF core function, to on-board itself. Shall be present in all other HTTP requests and responses. ' readOnly: true onboardingInformation: $ref: '#/components/schemas/OnboardingInformation' notificationDestination: $ref: TS29122_CommonData.yaml#/components/schemas/Uri requestTestNotification: type: boolean description: 'Set to true to request the CCF 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 apiList: $ref: '#/components/schemas/APIList' apiInvokerInformation: type: string description: 'Generic information related to the API invoker such as details of the device or the application. ' expTime: $ref: TS29122_CommonData.yaml#/components/schemas/DateTime supportedFeatures: $ref: TS29571_CommonData.yaml#/components/schemas/SupportedFeatures failureReasons: type: array items: $ref: '#/components/schemas/EnrolFailReason' minItems: 1 required: - onboardingInformation - notificationDestination RelatedCriteria: type: object description: Represents onboarding related criteria. properties: aefIds: type: array items: type: string minItems: 1 apis: type: array items: $ref: '#/components/schemas/ApiInfo' minItems: 1 serviceAPICategories: type: array items: type: string minItems: 1 anyOf: - required: - aefIds - required: - serviceAPICategories - required: - apis OnboardingNotification: type: object description: Represents a notification of on-boarding creation or update result. properties: result: type: boolean description: Set to "true" to indicate successful on-boarding. Otherwise set to "false". resourceLocation: $ref: TS29122_CommonData.yaml#/components/schemas/Uri apiInvokerEnrolmentDetails: $ref: '#/components/schemas/APIInvokerEnrolmentDetails' apiList: $ref: '#/components/schemas/APIList' failReason: $ref: '#/components/schemas/OnboardingFailReason' required: - result OnboardingInformation: type: object description: Represents the on-boarding information of the API Invoker. properties: apiInvokerPublicKey: type: string description: The API Invoker's public key apiInvokerCertificate: type: string description: 'The API Invoker''s generic client certificate, provided by the CAPIF core function. ' onboardingSecret: type: string description: 'The API Invoker''s onboarding secret, provided by the CAPIF core function. ' onboardingCriteria: type: array items: $ref: '#/components/schemas/OnboardingCriteria' minItems: 1 required: - apiInvokerPublicKey securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' scopes: {} 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/