Repository navigation
Expand file tree
/
Copy pathcontract.json
More file actions
100 lines (100 loc) · 5.76 KB
/
Copy pathcontract.json
File metadata and controls
100 lines (100 loc) · 5.76 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
{
"logging": {
"liveEvents": [
"request_received",
"envelope_validated",
"delivery_context_decrypted",
"provider_selected",
"provider_credential_resolution_started",
"provider_credential_resolved",
"provider_request_build_started",
"provider_request_built",
"provider_request_started",
"provider_response_received",
"provider_response_processed",
"response_prepared",
"request_completed"
],
"evaluationEvents": [
"request_received",
"envelope_validated",
"delivery_context_decrypted",
"evaluation_completed",
"response_prepared",
"request_completed"
],
"summaryFields": [
"logType", "eventName", "functionName", "functionRequestId", "functionInvocationId",
"x-ms-client-request-id", "x-ms-correlation-id", "msCorrelationIdSource", "omittedIdFields", "channel", "evaluation",
"envelopeType", "ttlSeconds",
"encryptionKeyIdMismatch", "providerName", "providerAuthMode", "providerAttempted",
"providerCredentialSource", "providerCredentialElapsedMs", "providerTenantId",
"functionOutboundClientId", "functionOutboundManagedIdentityClientId",
"providerHttpMethod", "providerEndpoint",
"providerHttpStatus", "providerStatus", "providerOutcome", "providerMessageId",
"providerElapsedMs", "providerTimeoutMs", "failureStage", "failureReason",
"httpStatus", "result", "elapsedMs", "responseContainsNonce", "responseContainsCorrelationId"
],
"identifiers": [
{ "value": "AB12CD34-1234-4567-890A-ABCDEF123456", "accepted": true },
{ "value": "ref_AbC:19.2-XY", "accepted": true },
{ "value": "1234567890", "accepted": true },
{ "length": 128, "accepted": true },
{ "length": 129, "accepted": false, "omitted": true },
{ "value": null, "accepted": false },
{ "value": "", "accepted": false },
{ "value": " ", "accepted": false },
{ "value": "support-id\n", "accepted": false, "omitted": true },
{ "value": "support-id\r\n", "accepted": false, "omitted": true },
{ "value": "id\tPRIVATE-DATA", "accepted": false, "omitted": true },
{ "value": "id\u0000PRIVATE-DATA", "accepted": false, "omitted": true },
{ "value": "id\u2028PRIVATE-DATA", "accepted": false, "omitted": true },
{ "value": "PRIVATE MESSAGE TEXT", "accepted": false, "omitted": true },
{ "value": "+15551234567", "accepted": false, "omitted": true },
{ "value": "https://example.com/?key=PRIVATE-KEY", "accepted": false, "omitted": true }
],
"endpoints": [
{ "url": "https://provider.example/epp/voice?key=PRIVATE-KEY&phone=PRIVATE-PHONE#PRIVATE-FRAGMENT", "logged": "https://provider.example/epp/voice" },
{ "url": "https://provider.example:8443/epp/voice?key=PRIVATE-KEY", "logged": "https://provider.example:8443/epp/voice" },
{ "url": "https://PRIVATE-USER:PRIVATE-PASSWORD@provider.example/api/send?key=PRIVATE-KEY", "logged": "https://provider.example/api/send" },
{ "url": "https://provider.example:443?key=PRIVATE-KEY", "logged": "https://provider.example/" },
{ "url": "https://[2001:db8::1]:8443/api/send?key=PRIVATE-KEY", "logged": "https://[2001:db8::1]:8443/api/send" }
]
},
"jwe": [
{ "alg": "RSA-OAEP-256", "enc": "A256GCM", "accepted": true },
{ "alg": "RSA-OAEP", "enc": "A256GCM", "accepted": false },
{ "alg": "RSA-OAEP-256", "enc": "A128GCM", "accepted": false },
{ "alg": "RSA-OAEP-256", "enc": "A256CBC-HS512", "accepted": false }
],
"badRequests": [
{ "name": "invalid JSON", "rawBody": "{", "reason": "invalid JSON body" },
{ "name": "array envelope", "rawBody": "[]", "reason": "invalid envelope" },
{ "name": "null envelope", "rawBody": "null", "reason": "invalid envelope" },
{ "name": "wrong version", "overrides": { "type": "wrong" }, "reason": "unsupported envelope type" },
{ "name": "boolean channel", "overrides": { "channel": true }, "reason": "unsupported channel" },
{ "name": "numeric string channel", "overrides": { "channel": "1" }, "reason": "unsupported channel" },
{ "name": "null mode", "overrides": { "mode": null }, "reason": "unsupported mode" },
{ "name": "boolean mode", "overrides": { "mode": true }, "reason": "unsupported mode" },
{ "name": "false mode", "overrides": { "mode": false }, "reason": "unsupported mode" },
{ "name": "empty encryption", "overrides": { "encryptedDeliveryContext": "" }, "reason": "encryptedDeliveryContext is required" },
{ "name": "blank encryption", "overrides": { "encryptedDeliveryContext": " " }, "reason": "encryptedDeliveryContext is required" },
{ "name": "string TTL", "overrides": { "ttlSeconds": "60" }, "reason": "invalid ttlSeconds" },
{ "name": "null TTL", "overrides": { "ttlSeconds": null }, "reason": "invalid ttlSeconds" },
{ "name": "boolean TTL", "overrides": { "ttlSeconds": true }, "reason": "invalid ttlSeconds" },
{ "name": "fractional TTL", "overrides": { "ttlSeconds": 1.5 }, "reason": "invalid ttlSeconds" },
{ "name": "oversized TTL", "overrides": { "ttlSeconds": 2147483648 }, "reason": "invalid ttlSeconds" },
{ "name": "expired TTL", "overrides": { "ttlSeconds": 0 }, "reason": "ttlSeconds expired" },
{ "name": "negative TTL", "overrides": { "ttlSeconds": -1 }, "reason": "ttlSeconds expired" },
{ "name": "encryption before TTL", "overrides": { "encryptedDeliveryContext": "", "ttlSeconds": "bad" }, "reason": "encryptedDeliveryContext is required" },
{ "name": "channel before mode and TTL", "overrides": { "channel": false, "mode": null, "ttlSeconds": "bad" }, "reason": "unsupported channel" }
],
"incompleteContexts": [
{ "nonce": "" },
{ "nonce": null },
{ "nonce": 123 },
{ "phoneNumber": null },
{ "phoneNumber": "" },
{ "message": " \t\r\n" }
]
}