-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapi-function.json
More file actions
75 lines (75 loc) · 2.26 KB
/
Copy pathapi-function.json
File metadata and controls
75 lines (75 loc) · 2.26 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
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/api-evangelist/polyapi/blob/main/json-schema/api-function.json",
"title": "PolyAPI API Function",
"description": "An API function wraps a third-party API call and is invoked through the PolyAPI gateway, providing a managed proxy with built-in authentication, monitoring, and variable injection.",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the API function."
},
"name": {
"type": "string",
"description": "The name of the API function."
},
"description": {
"type": "string",
"description": "A description of what the API function does."
},
"context": {
"type": "string",
"description": "The context path for organizing the function in the catalog."
},
"method": {
"type": "string",
"enum": ["GET", "POST", "PUT", "PATCH", "DELETE"],
"description": "The HTTP method used by the API function."
},
"url": {
"type": "string",
"format": "uri",
"description": "The target URL for the API call."
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "HTTP headers to include in the API call."
},
"requestBody": {
"type": "object",
"description": "The request body schema for the API call."
},
"responseSchema": {
"type": "object",
"description": "The expected response schema."
},
"state": {
"type": "string",
"enum": ["active", "inactive", "deprecated"],
"description": "The lifecycle state of the function."
},
"owner": {
"type": "string",
"description": "The owner of the function."
},
"visibility": {
"type": "string",
"enum": ["public", "private"],
"description": "The visibility of the function."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the function was created."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the function was last updated."
}
},
"required": ["name", "method", "url"]
}