Premier Lacrosse League · Authentication Profile

Premier Lacrosse League Authentication

Authentication

Premier Lacrosse League secures its APIs with none, oauth2, and openIdConnect across 4 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode, refreshToken, and urn:ietf:params:oauth:grant-type:jwt-bearer flow(s).

CompanySportsLacrosseProfessional Sports LeagueSports StatisticsMedia and EntertainmentEcommerceAgent CommerceGraphQLFantasy Sports
Methods: none, oauth2, openIdConnect Schemes: 4 OAuth flows: authorizationCode, refreshToken, urn:ietf:params:oauth:grant-type:jwt-bearer API key in:

Security Schemes

web-graphql-origin-restricted none
shop-storefront-public-json none
shop-customer-accounts oauth2
shop-ucp-agent-profile agent-identity

Source

Authentication Profile

premier-lacrosse-league-authentication.yml Raw ↑
generated: '2026-08-02'
method: probed
source: >-
  live probes of premierlacrosseleague.com/api/graphql, shop.premierlacrosseleague.com and its
  /.well-known/ discovery documents on 2026-08-02
docs: null
note: >-
  Derived from probes, not from an OpenAPI document — the Premier Lacrosse League publishes no
  OpenAPI, no developer portal and no authentication documentation. Nothing here is inferred; each
  scheme records an observed response.
summary:
  types: [none, oauth2, openIdConnect]
  api_key_in: []
  oauth2_flows: [authorizationCode, refreshToken, 'urn:ietf:params:oauth:grant-type:jwt-bearer']
  public_read_surfaces: 2
  developer_credentials_available: false
schemes:
- name: web-graphql-origin-restricted
  type: none
  applies_to: https://premierlacrosseleague.com/api/graphql
  description: >-
    The Apollo Server GraphQL API that backs the league's web and stats properties requires no
    credential, but enforces a CORS-style origin allow-list at the application layer. A POST
    without an allowed Origin header returns HTTP 403 with body {"error":"Origin not allowed"}.
    With Origin set to https://premierlacrosseleague.com the request is accepted and validated.
    There is no published way for a third party to obtain authorized access.
  observed:
    no_origin: {http_status: 403, body: '{"error":"Origin not allowed"}'}
    allowed_origin: {http_status: 400, note: 'request accepted, failed GraphQL validation only'}
  introspection_disabled: true
- name: shop-storefront-public-json
  type: none
  applies_to: https://shop.premierlacrosseleague.com
  description: >-
    Product and collection JSON on the store is served unauthenticated
    (GET /products/{handle}.json, GET /collections/{handle}/products.json,
    GET /search?q={query}&type=product). Documented by the store's own llms.txt.
  observed:
    example: {url: 'https://shop.premierlacrosseleague.com/collections/all/products.json?limit=2', http_status: 200, content_type: application/json}
- name: shop-customer-accounts
  type: oauth2
  subtype: openIdConnect
  applies_to: https://shop.premierlacrosseleague.com
  description: >-
    OAuth 2.0 / OpenID Connect authorization server for shop customer accounts, discovered via
    RFC 8414 and OIDC Discovery. Backs both the customer account API and the authenticated
    customer-account MCP API used for agent commerce.
  issuer: https://shopify.com/authentication/8037761076
  authorizationUrl: https://account.premierlacrosseleague.com/authentication/oauth/authorize
  tokenUrl: https://account.premierlacrosseleague.com/authentication/oauth/token
  jwksUri: https://account.premierlacrosseleague.com/authentication/.well-known/jwks.json
  pkce: [S256]
  token_endpoint_auth_methods: [client_secret_basic]
  id_token_signing_alg: [RS256]
  scopes: 4
  scopes_file: scopes/premier-lacrosse-league-scopes.yml
  sources:
  - well-known/premier-lacrosse-league-shop-oauth-authorization-server.json
  - well-known/premier-lacrosse-league-shop-oauth-protected-resource.json
- name: shop-ucp-agent-profile
  type: agent-identity
  applies_to: https://shop.premierlacrosseleague.com/api/ucp/mcp
  description: >-
    The store's MCP endpoint does not gate on a bearer token for tools/list; it gates on a UCP
    agent profile URI. An anonymous tools/list returns HTTP 422 with JSON-RPC error -32001
    invalid_profile_url ("Unable to fetch agent profile: Missing profile uri"). Payment completion
    additionally requires contemporaneous human buyer approval.
  bearer_methods_supported: [header]
gaps:
- No API key programme, no developer registration, no partner/media data-access documentation.
- No security.txt on any host, so no published security contact.
x-evidence:
  fetched: '2026-08-02'
  probes:
  - {url: 'https://premierlacrosseleague.com/api/graphql', method: POST, http_status: 403, note: no Origin header}
  - {url: 'https://premierlacrosseleague.com/api/graphql', method: POST, http_status: 400, note: with allowed Origin; INTROSPECTION_DISABLED}
  - {url: 'https://shop.premierlacrosseleague.com/.well-known/oauth-authorization-server', http_status: 200}
  - {url: 'https://shop.premierlacrosseleague.com/.well-known/oauth-protected-resource', http_status: 200}
  - {url: 'https://shop.premierlacrosseleague.com/api/ucp/mcp', method: POST, http_status: 422}