-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwallet-entitlement-openapi.yml
More file actions
145 lines (145 loc) · 4.93 KB
/
Copy pathwallet-entitlement-openapi.yml
File metadata and controls
145 lines (145 loc) · 4.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
openapi: 3.0.4
info:
title: Wallet Entitlement API
version: 0.1.0
x-products: [edk, vdx]
description: |
Resolves backend-managed wallet feature entitlements into a signed manifest
and exposes admin CRUD for entitlement rows.
servers:
- url: https://api.example.com/api/wallet-entitlement/v1
- url: http://localhost:8080/api/wallet-entitlement/v1
security:
- bearer: []
tags:
- name: WalletEntitlementManifest
- name: WalletEntitlementAdmin
paths:
/manifest:
get:
tags: [WalletEntitlementManifest]
summary: Resolve wallet feature manifest
operationId: resolveWalletFeatureManifest
x-command-id: wallet-entitlement.manifest.resolve
parameters:
- name: walletUnitId
in: query
schema: { type: string }
- name: partyId
in: query
schema: { type: string }
- name: groupIds
in: query
description: Comma-separated group IDs for manifest resolution.
schema: { type: string }
- name: orgUnitIds
in: query
description: Comma-separated org-unit IDs for manifest resolution.
schema: { type: string }
- name: appId
in: query
schema: { type: string }
- name: manifestVersion
in: query
schema: { type: string, default: "1" }
responses:
'200':
description: Signed wallet feature manifest.
content:
application/json:
schema:
$ref: './wallet-entitlement-components.yml#/components/schemas/SignedWalletFeatureManifest'
'401':
$ref: './common-components.yml#/components/responses/Unauthorized'
'403':
$ref: './common-components.yml#/components/responses/Forbidden'
'500':
$ref: './common-components.yml#/components/responses/Error'
/entitlements:
get:
tags: [WalletEntitlementAdmin]
summary: List wallet entitlements
operationId: listWalletEntitlements
x-command-id: wallet-entitlement.entitlement.list
parameters:
- name: subjectType
in: query
schema:
$ref: './wallet-entitlement-components.yml#/components/schemas/WalletEntitlementSubjectType'
- name: subjectId
in: query
schema: { type: string }
- name: featureKey
in: query
schema: { type: string }
responses:
'200':
description: Wallet entitlements.
content:
application/json:
schema:
$ref: './wallet-entitlement-components.yml#/components/schemas/ListWalletEntitlementsResult'
'401':
$ref: './common-components.yml#/components/responses/Unauthorized'
put:
tags: [WalletEntitlementAdmin]
summary: Create or update wallet entitlement
operationId: upsertWalletEntitlement
x-command-id: wallet-entitlement.entitlement.upsert
requestBody:
required: true
content:
application/json:
schema:
$ref: './wallet-entitlement-components.yml#/components/schemas/UpsertWalletEntitlementArgs'
responses:
'200':
description: Wallet entitlement row.
content:
application/json:
schema:
$ref: './wallet-entitlement-components.yml#/components/schemas/WalletEntitlementRow'
'400':
$ref: './common-components.yml#/components/responses/ValidationError'
'401':
$ref: './common-components.yml#/components/responses/Unauthorized'
/entitlements/{entitlementId}:
parameters:
- name: entitlementId
in: path
required: true
schema: { type: string }
get:
tags: [WalletEntitlementAdmin]
summary: Get wallet entitlement
operationId: getWalletEntitlement
x-command-id: wallet-entitlement.entitlement.get
responses:
'200':
description: Wallet entitlement row.
content:
application/json:
schema:
$ref: './wallet-entitlement-components.yml#/components/schemas/WalletEntitlementRow'
'401':
$ref: './common-components.yml#/components/responses/Unauthorized'
'404':
$ref: './common-components.yml#/components/responses/NotFound'
delete:
tags: [WalletEntitlementAdmin]
summary: Delete wallet entitlement
operationId: deleteWalletEntitlement
x-command-id: wallet-entitlement.entitlement.delete
responses:
'200':
description: Delete result.
content:
application/json:
schema:
$ref: './wallet-entitlement-components.yml#/components/schemas/DeleteWalletEntitlementResult'
'401':
$ref: './common-components.yml#/components/responses/Unauthorized'
components:
securitySchemes:
bearer:
$ref: './common-components.yml#/components/securitySchemes/bearer'