Arccos Golf · Authentication Profile

Arccos Golf Authentication

Authentication

Arccos Golf secures its APIs with oauth2 and http across 2 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode flow(s).

Companygolfsports-technologywearablesiotshot-trackingsports-analyticsperformance-analyticsgeospatialconsumer-hardwarewebhooksoauth2mcpecommerce
Methods: oauth2, http Schemes: 2 OAuth flows: authorizationCode API key in:

Security Schemes

AccessCodeAuth oauth2
· flows: authorizationCode
BasicAuth http
scheme: basic

Source

Authentication Profile

Raw ↑
generated: '2026-08-06'
method: searched
source: >-
  https://api.arccosgolf.com/swagger.json (info.description — published Authentication section) +
  openapi/arccos-golf-on-course-data-api-openapi.yml securityDefinitions
docs: https://api.arccosgolf.com/swagger
summary:
  types:
  - oauth2
  - http
  oauth2_flows:
  - authorizationCode
  access_model: >-
    Access to the On-Course Data API is restricted. Arccos issues a client id and (optionally) a client secret to
    approved third parties; the ability to request each scope on behalf of a user is granted per client by Arccos.
    Client registration is not self-serve — the published contact is john@arccosgolf.com.
  anonymous_operations:
  - handle_search_courses.get./v5/courses
  - handle_get_one_course.get./v5/courses/{courseId}
  - handle_get_one_course_version.get./v5/courses/{courseId}/versions/{courseVersion}
  anonymous_note: >-
    The three course-catalog operations declare no security requirement in the spec, and a probe on 2026-08-06
    confirmed GET https://api.arccosgolf.com/v5/courses?name=Pebble&limit=2 returns 200 with real course data and
    no Authorization header. Every other path returns 401 {"error":{"code":40101,...}} with
    WWW-Authenticate: Bearer realm="arccos".
schemes:
- name: AccessCodeAuth
  type: oauth2
  flows:
  - flow: authorizationCode
    authorizationUrl: https://signin.arccosgolf.com/login
    tokenUrl: https://api.arccosgolf.com/oauth2/token
    revocationUrl: https://api.arccosgolf.com/oauth2/revoke
    redirectUrl: https://api.arccosgolf.com/oauth2-redirect.html
    scopes: 4
    grant_types:
    - authorization_code
    - refresh_token
    token_request_encoding: application/x-www-form-urlencoded
    client_authentication: client_id (+ client_secret when issued)
  applies_to: users, rounds, round stats and clubs operations
  sources:
  - openapi/arccos-golf-on-course-data-api-openapi.yml
  - https://api.arccosgolf.com/swagger.json
- name: BasicAuth
  type: http
  scheme: basic
  applies_to: the /v5/webhooks registration operations (GET, POST, DELETE)
  sources:
  - openapi/arccos-golf-on-course-data-api-openapi.yml
tokens:
- name: id_token
  purpose: >-
    Returned only when the openid scope is requested. Carries basic user information; explicitly documented as NOT
    usable to authenticate requests. Its custom:arccosUserId claim supplies the {userId} path parameter used by
    almost every operation.
  usable_for_requests: false
- name: access_token
  purpose: 'Bearer token presented as `Authorization: Bearer {access_token}` on authenticated requests.'
  usable_for_requests: true
  lifetime: short-lived; the published docs leave the exact TTL as "X hours"
- name: refresh_token
  purpose: >-
    Exchanged at the token endpoint (grant_type=refresh_token) for a fresh token set; revocable at
    /oauth2/revoke either by token or by arccos_user_id.
  usable_for_requests: false
  lifetime: the published docs leave the exact TTL as "X days"
notes:
- Scopes cannot be added retroactively — a user must re-authorize the client for any scope not requested initially.
- The openid scope is mandatory for every operation whose path contains {userId}.
- >-
  The identity provider behind signin.arccosgolf.com is an Amazon Cognito hosted UI (the webhook
  accountDisconnected payload names its client identifier a "cognito-client-id"); a bare GET of
  https://signin.arccosgolf.com/login returns 400 without client_id/response_type parameters.
storefront_authentication:
  note: >-
    Separate and unrelated to the golf-data API. The Shopify storefront at www.arccosgolf.com publishes an
    OpenID Connect discovery document delegating customer-account auth to Shopify.
  issuer: https://shopify.com/authentication/7805525
  discovery: well-known/arccos-golf-openid-configuration.json
  scopes_supported:
  - openid
  - email
  - customer-account-api:full
  - customer-account-mcp-api:full
cross_links:
  scopes: scopes/arccos-golf-scopes.yml
  conventions: conventions/arccos-golf-conventions.yml
  errors: errors/arccos-golf-problem-types.yml
  well_known: well-known/arccos-golf-well-known.yml