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 HardwareWebhookAuthenticationMCPE-Commerce
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

Work with this as data

Every security artifact here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/arccos-golf-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.