{
  "openapi": "3.1.1",
  "info": {
    "title": "Accessibility API examples",
    "version": "2026-10-11",
    "description": "Selected organization-scoped read endpoints from Developing Today Accessibility. This is a curated example contract, not the full application specification. Examples are demonstration data. The product API hostname was not reachable during preparation; use these examples to inspect the contract and authentication model."
  },
  "servers": [
    {
      "url": "https://accessibility.api.developingtoday.net"
    }
  ],
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "paths": {
    "/api/orgs/{organizationId}/users/{userId}/audit-projects/{projectId}/pages/": {
      "get": {
        "operationId": "listAuditPages",
        "summary": "Read pages and their finding counts",
        "description": "Lists pages within the caller's organization and project. Pagination is capped at 200 pages per request. Finding counts respect the project's conformance scope.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 50,
              "minimum": 1,
              "maximum": 200
            }
          },
          {
            "name": "urlPattern",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "noPattern",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated audit pages",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer"
                          },
                          "url": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "scanStatus": {
                            "type": "string"
                          },
                          "findingCount": {
                            "type": "integer"
                          },
                          "openFindings": {
                            "type": "integer"
                          }
                        }
                      }
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                },
                "example": {
                  "items": [
                    {
                      "id": 42,
                      "url": "https://example.gov/services",
                      "title": "County services",
                      "scanStatus": "Completed",
                      "findingCount": 3,
                      "openFindings": 1
                    }
                  ],
                  "total": 1
                }
              }
            }
          },
          "401": {
            "description": "Authentication required"
          },
          "404": {
            "description": "Project not found in the caller's organization"
          }
        },
        "tags": ["Audit pages"]
      }
    }
  },
  "tags": [
    {
      "name": "Audit pages",
      "description": "Selected API operations"
    }
  ]
}
