List JWKs

Overview

Retrieves all JWKs (JSON Web Keys) for a specified project. JWKs are used for cryptographic operations, digital signatures, and encryption in API Proxies.

Endpoint

GET /apiops/projects/{projectName}/jwks/

Authentication

Requires a Personal API Access Token.

Authorization: Bearer YOUR_TOKEN

Request

Headers

Header Value Required
Authorization Bearer {token} Yes

Path Parameters

Parameter Type Required Description
projectName string Yes Project name

Query Parameters

None.

Response

Success Response (200 OK)

{
  "success": true,
  "resultList": [
    {
      "name": "my-jwk",
      "description": "JWK for API authentication",
      "projectId": "project-id",
      "sourceType": "URL",
      "sourceId": null,
      "sourceUrl": "https://example.com/.well-known/jwks.json",
      "type": "RSA",
      "kid": "key-id-1"
    },
    {
      "name": "generated-jwk",
      "description": "Auto-generated JWK",
      "projectId": "project-id",
      "sourceType": "GENERATE",
      "sourceId": null,
      "sourceUrl": null,
      "type": "EC",
      "kid": "key-id-2"
    }
  ]
}

Response Fields

Field Type Description
success boolean Indicates if the request was successful
resultList array[object] List of JWKs

JWK Management Object

Field Type Description
name string JWK name
description string JWK description
projectId string Project ID where JWK belongs
sourceType string Source type: URL, COPY_PASTE, CERTIFICATE, PUBLIC_KEY, PRIVATE_KEY, KEYSTORE, GENERATE
sourceId string ID of the source (certificate, key, or keystore) if applicable
sourceUrl string URL of the source if sourceType is URL
type string JWK type: RSA, EC, OCT, OKP
kid string Key ID (kid) of the JWK. For URL and COPY_PASTE source types, this specifies which key to use when the source contains multiple keys (JWK Set)

Notes

  • JWK key material (rsa, ec, oct, okp fields) is excluded from list response for performance
  • Each JWK can be deployed to multiple environments
  • JWKs can be created from various sources (URL, certificate, key, keystore, or generated)
  • Use Get JWK endpoint to retrieve full JWK details including key material

Error Response (401 Unauthorized)

{
  "error": "unauthorized_client",
  "error_description": "Invalid token"
}

Error Response (400 Bad Request)

{
  "error": "bad_request",
  "error_description": "projectName value can not be empty!"
}

cURL Example

curl -X GET \
  "https://demo.apinizer.com/apiops/projects/MyProject/jwks/" \
  -H "Authorization: Bearer YOUR_TOKEN"

Notes and Warnings

  • Performance:
    • JWK key material is excluded from list response
    • Use Get JWK endpoint to retrieve full JWK details
  • Source Types:
    • URL: JWK fetched from a URL
    • COPY_PASTE: JWK created from JSON string
    • CERTIFICATE: JWK extracted from certificate
    • PUBLIC_KEY/PRIVATE_KEY: JWK extracted from key
    • KEYSTORE: JWK extracted from keystore
    • GENERATE: JWK generated by Apinizer
  • Permissions:
    • Requires ROLE_API_SECURITY permission
    • User must have access to the project