-
Notifications
You must be signed in to change notification settings - Fork 72
Expand file tree
/
Copy pathopenapi.yaml
More file actions
147 lines (146 loc) · 4.07 KB
/
Copy pathopenapi.yaml
File metadata and controls
147 lines (146 loc) · 4.07 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
146
147
openapi: 3.0.3
info:
title: AudioBlocks Backend API Reference
version: 1.0.0
description: API reference for AudioBlocks music NFT platform on Stellar/Soroban.
paths:
/api/api-keys:
post:
summary: Create an API key
description: Issues a new API key with explicit scopes (read-only, upload, admin).
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
scopes:
type: array
items:
type: string
enum: [read-only, upload, admin]
responses:
'201':
description: API key created successfully.
get:
summary: List API keys
description: Returns the list of API keys for the authenticated user.
/api/api-keys/{id}:
delete:
summary: Revoke an API key
description: Revokes an active API key.
/api/activity/onchain:
get:
summary: List indexed on-chain activity
description: Queries indexed on-chain events from Soroban contracts with pagination and filtering by contractType, eventType, and address.
parameters:
- name: contractType
in: query
required: false
description: Filter events by smart contract type (e.g. nft, artist, catalog, royalty, marketplace).
schema:
type: string
- name: eventType
in: query
required: false
description: Filter events by event name/type (e.g. mint, transfer, royalty_payout, sale, list, setup).
schema:
type: string
- name: address
in: query
required: false
description: Filter events by wallet or contract address (e.g. Stellar public key).
schema:
type: string
- name: page
in: query
required: false
description: 1-based page number for pagination.
schema:
type: integer
minimum: 1
default: 1
- name: limit
in: query
required: false
description: Number of items per page (maximum 100).
schema:
type: integer
minimum: 1
maximum: 100
default: 20
responses:
'200':
description: A paginated list of indexed on-chain events.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
data:
type: array
items:
$ref: '#/components/schemas/IndexedEvent'
pagination:
$ref: '#/components/schemas/Pagination'
components:
schemas:
IndexedEvent:
type: object
properties:
id:
type: string
format: uuid
contractType:
type: string
nullable: true
example: marketplace
contractId:
type: string
nullable: true
example: CA...
eventType:
type: string
example: sale
address:
type: string
nullable: true
example: GBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
txHash:
type: string
nullable: true
example: a1b2c3d4e5f6...
ledger:
type: integer
nullable: true
example: 123456
data:
type: object
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
Pagination:
type: object
properties:
page:
type: integer
example: 1
limit:
type: integer
example: 20
total:
type: integer
example: 42
totalPages:
type: integer
example: 3