Skip to content

Commit 8fa6597

Browse files
[skip ci] Updates
1 parent efdda36 commit 8fa6597

2 files changed

Lines changed: 120 additions & 2 deletions

File tree

api-explorer/v4-0/Maestro.swagger2.json

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,63 @@
229229
"Alerts"
230230
]
231231
}
232+
},
233+
"/jwks": {
234+
"get": {
235+
"operationId": "GetJWKS",
236+
"summary": "Retrieve public keys for signature verification",
237+
"description": "Authenticated endpoint for partners to retrieve Concur's public keys for validating signed message tokens. Requires company JWT authentication to ensure only authorized partners can access public key information.",
238+
"responses": {
239+
"200": {
240+
"description": "JWKs response with public keys for signature verification",
241+
"content": {
242+
"application/json": {
243+
"schema": {
244+
"$ref": "#/components/schemas/JWKSResponse"
245+
}
246+
}
247+
}
248+
},
249+
"401": {
250+
"description": "Unauthorized - Company JWT validation failed or missing",
251+
"content": {
252+
"application/json": {
253+
"schema": {
254+
"$ref": "#/components/schemas/ErrorMessage"
255+
}
256+
}
257+
}
258+
},
259+
"403": {
260+
"description": "Forbidden - Valid company JWT but not authorized for key access",
261+
"content": {
262+
"application/json": {
263+
"schema": {
264+
"$ref": "#/components/schemas/ErrorMessage"
265+
}
266+
}
267+
}
268+
},
269+
"500": {
270+
"description": "Internal Server Error - Key retrieval failures",
271+
"content": {
272+
"application/json": {
273+
"schema": {
274+
"$ref": "#/components/schemas/ErrorMessage"
275+
}
276+
}
277+
}
278+
}
279+
},
280+
"tags": [
281+
"Partner Authorization"
282+
],
283+
"security": [
284+
{
285+
"ApiKeyAuth": []
286+
}
287+
]
288+
}
232289
}
233290
},
234291
"components": {
@@ -509,6 +566,67 @@
509566
"description": "Optional field-specific information"
510567
}
511568
}
569+
},
570+
"JWKSResponse": {
571+
"type": "object",
572+
"description": "Response schema for JWKs endpoint containing public keys for signature verification",
573+
"properties": {
574+
"keys": {
575+
"type": "array",
576+
"items": {
577+
"type": "object",
578+
"properties": {
579+
"kty": {
580+
"type": "string",
581+
"description": "Key type (RSA)"
582+
},
583+
"use": {
584+
"type": "string",
585+
"description": "Key usage (sig for signature)"
586+
},
587+
"kid": {
588+
"type": "string",
589+
"description": "Key identifier for rotation support"
590+
},
591+
"n": {
592+
"type": "string",
593+
"description": "RSA public key modulus"
594+
},
595+
"e": {
596+
"type": "string",
597+
"description": "RSA public key exponent"
598+
},
599+
"alg": {
600+
"type": "string",
601+
"description": "Signing algorithm (RS256)"
602+
}
603+
},
604+
"required": [
605+
"kty",
606+
"use",
607+
"kid",
608+
"n",
609+
"e",
610+
"alg"
611+
]
612+
}
613+
}
614+
},
615+
"required": [
616+
"keys"
617+
],
618+
"example": {
619+
"keys": [
620+
{
621+
"kty": "RSA",
622+
"use": "sig",
623+
"kid": "concur-key-1",
624+
"n": "0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM78LhWx4cbbfAAt...",
625+
"e": "AQAB",
626+
"alg": "RS256"
627+
}
628+
]
629+
}
512630
}
513631
}
514632
},

feed.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
<description>Concur docs provides comprehensive information on working with the Concur platform</description>
66
<link>https://preview.developer.concur.com/</link>
77
<atom:link href="https://preview.developer.concur.com/feed.xml" rel="self" type="application/rss+xml" />
8-
<pubDate>Mon, 06 Apr 2026 13:49:17 +0000</pubDate>
9-
<lastBuildDate>Mon, 06 Apr 2026 13:49:17 +0000</lastBuildDate>
8+
<pubDate>Mon, 06 Apr 2026 14:39:37 +0000</pubDate>
9+
<lastBuildDate>Mon, 06 Apr 2026 14:39:37 +0000</lastBuildDate>
1010
<generator>Jekyll v4.1.1</generator>
1111

1212
</channel>

0 commit comments

Comments
 (0)