ETSI GS MEC 009 V2.2.1 (2020-10)
Multi-access Edge Computing (MEC); General principles, patterns and common aspects of MEC Service APIs
Multi-access Edge Computing (MEC); General principles, patterns and common aspects of MEC Service APIs
RGS/MEC-0009v221ApiPrinciples
General Information
Standards Content (Sample)
ETSI GS MEC 009 V2.2.1 (2020-10)
GROUP SPECIFICATION
Multi-access Edge Computing (MEC);
General principles, patterns and common aspects
of MEC Service APIs
Disclaimer
The present document has been produced and approved by the Multi-access Edge Computing (MEC) ETSI Industry
Specification Group (ISG) and represents the views of those members who participated in this ISG.
It does not necessarily represent the views of the entire ETSI membership.
---------------------- Page: 1 ----------------------
2 ETSI GS MEC 009 V2.2.1 (2020-10)
Reference
RGS/MEC-0009v221ApiPrinciples
Keywords
API, MEC
ETSI
650 Route des Lucioles
F-06921 Sophia Antipolis Cedex - FRANCE
Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16
Siret N° 348 623 562 00017 - NAF 742 C
Association à but non lucratif enregistrée à la
Sous-Préfecture de Grasse (06) N° 7803/88
Important notice
The present document can be downloaded from:
http://www.etsi.org/standards-search
The present document may be made available in electronic versions and/or in print. The content of any electronic and/or
print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any
existing or perceived difference in contents between such versions and/or in print, the prevailing version of an ETSI
deliverable is the one made publicly available in PDF format at www.etsi.org/deliver.
Users of the present document should be aware that the document may be subject to revision or change of status.
Information on the current status of this and other ETSI documents is available at
https://portal.etsi.org/TB/ETSIDeliverableStatus.aspx
If you find errors in the present document, please send your comment to one of the following services:
https://portal.etsi.org/People/CommiteeSupportStaff.aspx
Copyright Notification
No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying
and microfilm except as authorized by written permission of ETSI.
The content of the PDF version shall not be modified without the written authorization of ETSI.
The copyright and the foregoing restriction extend to reproduction in all media.
© ETSI 2020.
All rights reserved.
DECT™, PLUGTESTS™, UMTS™ and the ETSI logo are trademarks of ETSI registered for the benefit of its Members.
3GPP™ and LTE™ are trademarks of ETSI registered for the benefit of its Members and
of the 3GPP Organizational Partners.
oneM2M™ logo is a trademark of ETSI registered for the benefit of its Members and
of the oneM2M Partners.
®
GSM and the GSM logo are trademarks registered and owned by the GSM Association.
ETSI
---------------------- Page: 2 ----------------------
3 ETSI GS MEC 009 V2.2.1 (2020-10)
Contents
Intellectual Property Rights . 6
Foreword . 6
Modal verbs terminology . 6
1 Scope . 7
2 References . 7
2.1 Normative references . 7
2.2 Informative references . 9
3 Definition of terms, symbols and abbreviations . 10
3.1 Terms . 10
3.2 Symbols . 10
3.3 Abbreviations . 10
4 Design principles for developing RESTful MEC service APIs . 10
4.1 REST implementation levels . 10
4.2 General principles. 11
4.3 Entry point of a RESTful MEC service API . 11
4.4 API security and privacy considerations . 12
5 Documenting RESTful MEC service APIs . 12
5.1 RESTful MEC service API template . 12
5.2 Conventions for names . 12
5.2.1 Case conventions . 12
5.2.2 Conventions for URI parts . 13
5.2.2.1 Introduction . 13
5.2.2.2 Path segment naming conventions . 13
5.2.2.3 Query naming conventions . 14
5.2.3 Conventions for names in data structures . 14
5.3 Provision of an OpenAPI definition . 14
5.4 Documentation of the API data model . 14
5.4.1 Overview . 14
5.4.2 Structured data types . 15
5.4.3 Simple data types . 16
5.4.4 Enumerations . 16
5.4.5 Serialization . 17
6 Patterns of RESTful MEC service APIs . 18
6.1 Introduction . 18
6.2 Void . 18
6.3 Pattern: Resource identification . 18
6.3.1 Description . 18
6.3.2 Resource definition(s) and HTTP methods . 18
6.4 Pattern: Resource representations and content format negotiation . 19
6.4.1 Description . 19
6.4.2 Resource definition(s) and HTTP methods . 19
6.4.3 Resource representation(s) . 19
6.4.4 HTTP headers . 19
6.4.5 Response codes and error handling . 19
6.5 Pattern: Creating a resource (POST) . 20
6.5.1 Description . 20
6.5.2 Resource definition(s) and HTTP methods . 20
6.5.3 Resource representation(s) . 20
6.5.4 HTTP headers . 20
6.5.5 Response codes and error handling . 21
6.5a Pattern: Creating a resource (PUT) . 21
6.5a.1 Description . 21
6.5a.2 Resource definition(s) and HTTP methods . 21
ETSI
---------------------- Page: 3 ----------------------
4 ETSI GS MEC 009 V2.2.1 (2020-10)
6.5a.3 Resource representation(s) . 22
6.5a.4 HTTP headers . 22
6.5a.5 Response codes and error handling . 22
6.6 Pattern: Reading a resource . 22
6.6.1 Description . 22
6.6.2 Resource definition(s) and HTTP methods . 22
6.6.3 Resource representation(s) . 23
6.6.4 HTTP headers . 23
6.6.5 Response codes and error handling . 23
6.7 Pattern: Queries on a resource . 23
6.7.1 Description . 23
6.7.2 Resource definition(s) and HTTP methods . 23
6.7.3 Resource representation(s) . 24
6.7.4 HTTP headers . 24
6.7.5 Response codes and error handling . 24
6.8 Pattern: Updating a resource (PUT) . 24
6.8.1 Description . 24
6.8.2 Resource definition(s) and HTTP methods . 25
6.8.3 Resource representation(s) . 25
6.8.4 HTTP headers . 25
6.8.5 Response codes and error handling . 26
6.9 Pattern: Updating a resource (PATCH) . 26
6.9.1 Description . 26
6.9.2 Resource definition(s) and HTTP methods . 27
6.9.3 Resource representation(s) . 27
6.9.4 HTTP headers . 28
6.9.5 Response codes and error handling . 28
6.10 Pattern: Deleting a resource. 28
6.10.1 Description . 28
6.10.2 Resource definition(s) and HTTP methods . 29
6.10.3 Resource representation(s) . 29
6.10.4 HTTP headers . 29
6.10.5 Response codes and error handling . 29
6.11 Pattern: Task resources . 30
6.11.1 Description . 30
6.11.2 Resource definition(s) and HTTP methods . 30
6.11.3 Resource representation(s) . 30
6.11.4 HTTP headers . 30
6.11.5 Response codes and error handling . 30
6.12 Pattern: REST-based subscribe/notify . 31
6.12.1 Description . 31
6.12.2 Resource definition(s) and HTTP methods . 32
6.12.3 Resource representation(s) . 33
6.12.4 HTTP headers . 33
6.12.5 Response codes and error handling . 33
6.13 Pattern: Asynchronous operations . 33
6.13.1 Description . 33
6.13.2 Resource definition(s) and HTTP methods . 35
6.13.3 Resource representation(s) . 35
6.13.4 HTTP headers . 36
6.13.5 Response codes and error handling . 36
6.14 Pattern: Links (HATEOAS) . 36
6.14.1 Description . 36
6.14.2 Resource definition(s) and HTTP methods . 36
6.14.3 Resource representation(s) . 36
6.14.4 HTTP headers . 38
6.14.5 Response codes and error handling . 38
6.15 Pattern: Error responses . 38
6.15.1 Description . 38
6.15.2 Resource definition(s) and HTTP methods . 38
6.15.3 Resource representation(s) . 38
6.15.4 HTTP headers . 39
ETSI
---------------------- Page: 4 ----------------------
5 ETSI GS MEC 009 V2.2.1 (2020-10)
6.15.5 Response codes and error handling . 39
6.16 Pattern: Authorization of access to a RESTful MEC service API using OAuth 2.0 . 39
6.16.1 Description . 39
6.16.2 Resource definition(s) and HTTP methods . 42
6.16.3 Resource representation(s) . 43
6.16.4 HTTP headers . 43
6.16.5 Response codes and error handling . 43
6.16.6 Discovery of the parameters needed for exchanges with the token endpoint . 43
6.16.7 Scope values . 43
6.17 Pattern: Representation of lists in JSON . 43
6.17.1 Description . 43
6.17.2 Representation as arrays . 43
6.17.3 Representation as maps . 44
6.18 Pattern: Attribute selectors . 44
6.18.1 Description . 44
6.18.2 Resource definition(s) and HTTP methods . 44
6.18.3 Resource representation(s) . 45
6.18.4 HTTP headers . 46
6.18.5 Response codes and error handling . 46
6.19 Pattern: Attribute-based filtering . 46
6.19.1 Description . 46
6.19.2 Resource definition(s) and HTTP methods . 47
6.19.3 Resource representation(s) . 49
6.19.4 HTTP headers . 49
6.19.5 Response codes and error handling . 49
6.20 Pattern: Handling of too large responses . 49
6.20.1 Description . 49
6.20.2 Resource definition(s) and HTTP methods . 50
6.20.3 Resource representation(s) . 50
6.20.4 HTTP headers . 50
6.20.5 Response codes and error handling . 50
7 Alternative transport mechanisms . 50
7.1 Description . 50
7.2 Relationship of topics, subscriptions and access rights . 51
7.3 Serializers . 53
7.4 Authorization of access to a service over alternative transports using TLS credentials . 53
Annex A (informative): REST methods. 56
Annex B (normative): HTTP response status codes . 57
Annex C (informative): Richardson maturity model of REST APIs . 59
Annex D (informative): RESTful MEC service API template. 60
Annex E (normative): Error reporting . 67
E.1 Introduction . 67
E.2 General mechanism . 67
E.3 Common error situations . 67
History . 70
ETSI
---------------------- Page: 5 ----------------------
6 ETSI GS MEC 009 V2.2.1 (2020-10)
Intellectual Property Rights
Essential patents
IPRs essential or potentially essential to normative deliverables may have been declared to ETSI. The information
pertaining to these essential IPRs, if any, is publicly available for ETSI members and non-members, and can be found
in ETSI SR 000 314: "Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in
respect of ETSI standards", which is available from the ETSI Secretariat. Latest updates are available on the ETSI Web
server (https://ipr.etsi.org/).
Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee
can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web
server) which are, or may be, or may become, essential to the present document.
Trademarks
The present document may include trademarks and/or tradenames which are asserted and/or registered by their owners.
ETSI claims no ownership of these except for any which are indicated as being the property of ETSI, and conveys no
right to use or reproduce any trademark and/or tradename. Mention of those trademarks in the present document does
not constitute an endorsement by ETSI of products, services or organizations associated with those trademarks.
Foreword
This Group Specification (GS) has been produced by ETSI Industry Specification Group (ISG) Multi-access Edge
Computing (MEC).
Modal verbs terminology
In the present document "shall", "sh
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.