Arccos Golf Rounds API

The Rounds API from Arccos Golf — 3 operation(s) for rounds.

Operations 3

GET /v5/users/{userId}/rounds Get Rounds #
GET /v5/users/{userId}/rounds/{roundId} Get One Round #
GET /v5/users/{userId}/rounds/{roundId}/stats Get Round Stats #

Documentation

Specifications

Other Resources

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/arccos-golf-rounds-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

arccos-golf-rounds-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Arccos Golf Rounds API
  version: '1'
  description: 'Operations tagged Rounds across 2 of this provider''s published API definitions: arccos-golf-on-course-data-api-openapi.yml, arccos-golf-rounds-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.arccosgolf.com/
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Rounds
paths:
  /v5/users/{userId}/rounds:
    get:
      summary: Get Rounds
      description: Paged API used to get a users rounds
      tags:
      - Rounds
      operationId: handle_search_rounds.get./v5/users/{userId}/rounds
      security:
      - AccessCodeAuth:
        - arccos/read:rounds
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      - in: query
        name: limit
        description: maximum number of results to get
        required: false
        schema:
          type: integer
      - in: query
        name: offset
        description: number of results to get per request
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRoundsResponse'
  /v5/users/{userId}/rounds/{roundId}:
    get:
      summary: Get One Round
      description: Get details for one round
      tags:
      - Rounds
      operationId: handle_get_one_round.get./v5/users/{userId}/rounds/{roundId}
      security:
      - AccessCodeAuth:
        - arccos/read:rounds
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      - name: roundId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOneRoundResponse'
  /v5/users/{userId}/rounds/{roundId}/stats:
    get:
      summary: Get Round Stats
      description: Get traditional stats for one round with goals relative to a goalHandicap. If no handicap is provided, 0 is assumed.
      tags:
      - Rounds
      operationId: handle_get_round_stats.get./v5/users/{userId}/rounds/{roundId}/stats
      security:
      - AccessCodeAuth:
        - arccos/read:rounds
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      - name: roundId
        in: path
        required: true
        schema:
          type: string
      - in: query
        name: goalHandicap
        description: -30 to 10. Someone with a goal of 20 over par should enter -20.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOneRoundStatsResponse'
components:
  schemas:
    GetOneRoundStatsResponse:
      properties:
        roundId:
          title: GetOneRoundStatsResponse.roundId
          type: number
        courseId:
          title: GetOneRoundStatsResponse.courseId
          type: number
        courseVersion:
          title: GetOneRoundStatsResponse.courseVersion
          type: number
        goalHandicap:
          title: GetOneRoundStatsResponse.goalHandicap
          type: number
        stats:
          $ref: '#/components/schemas/RoundStats'
          title: GetOneRoundStatsResponse.stats
      required:
      - roundId
      - courseId
      - courseVersion
      - goalHandicap
      - stats
      additionalProperties: false
      title: GetOneRoundStatsResponse
      type: object
    HoleStat:
      properties:
        name:
          enum:
          - gir
          - sand_save
          - up_and_down
          title: HoleStat.name
          type: string
        succeeded:
          title: HoleStat.succeeded
          type: boolean
      required:
      - name
      - succeeded
      additionalProperties: false
      title: HoleStat
      type: object
    Terrain:
      enum:
      - tee
      - fairway
      - rough
      - sand
      - green
      title: Terrain
      type: string
    ShortStrokesGainedBreakdown:
      properties:
        numberOfShots:
          title: ShortStrokesGainedBreakdown.numberOfShots
          type: number
        upAndDown:
          properties:
            chances:
              title: ShortStrokesGainedBreakdown.upAndDown.chances
              type: number
            successes:
              title: ShortStrokesGainedBreakdown.upAndDown.successes
              type: number
          required:
          - chances
          - successes
          additionalProperties: false
          title: ShortStrokesGainedBreakdown.upAndDown
          type: object
      required:
      - numberOfShots
      - upAndDown
      additionalProperties: false
      title: ShortStrokesGainedBreakdown
      type: object
    TraditionalStatComparison:
      properties:
        actual:
          title: TraditionalStatComparison.actual
          type: number
        goal:
          title: TraditionalStatComparison.goal
          type: number
        scratch:
          title: TraditionalStatComparison.scratch
          type: number
      required:
      - actual
      - goal
      - scratch
      additionalProperties: false
      title: TraditionalStatComparison
      type: object
    Hole:
      properties:
        holeId:
          title: Hole.holeId
          type: number
      required:
      - holeId
      additionalProperties: false
      title: Hole
      type: object
    ApproachStrokesGainedBreakdown:
      properties:
        numberOfShots:
          title: ApproachStrokesGainedBreakdown.numberOfShots
          type: number
        greensInRegulationPercent:
          $ref: '#/components/schemas/TraditionalStatComparison'
          title: ApproachStrokesGainedBreakdown.greensInRegulationPercent
        greensInRegulation:
          properties:
            chances:
              title: ApproachStrokesGainedBreakdown.greensInRegulation.chances
              type: number
            successes:
              title: ApproachStrokesGainedBreakdown.greensInRegulation.successes
              type: number
          required:
          - chances
          - successes
          additionalProperties: false
          title: ApproachStrokesGainedBreakdown.greensInRegulation
          type: object
        averageShotDistance:
          title: ApproachStrokesGainedBreakdown.averageShotDistance
          type: number
      required:
      - numberOfShots
      - averageShotDistance
      additionalProperties: false
      title: ApproachStrokesGainedBreakdown
      type: object
    PuttStrokesGainedBreakdown:
      properties:
        numberOfShots:
          title: PuttStrokesGainedBreakdown.numberOfShots
          type: number
        zeroPutts:
          title: PuttStrokesGainedBreakdown.zeroPutts
          type: number
        onePutts:
          title: PuttStrokesGainedBreakdown.onePutts
          type: number
        twoPutts:
          title: PuttStrokesGainedBreakdown.twoPutts
          type: number
        threePlusPutts:
          title: PuttStrokesGainedBreakdown.threePlusPutts
          type: number
      required:
      - numberOfShots
      - zeroPutts
      - onePutts
      - twoPutts
      - threePlusPutts
      additionalProperties: false
      title: PuttStrokesGainedBreakdown
      type: object
    DrivingStrokesGainedBreakdown:
      properties:
        numberOfShots:
          title: DrivingStrokesGainedBreakdown.numberOfShots
          type: number
        averageDriveDistance:
          $ref: '#/components/schemas/TraditionalStatComparison'
          title: DrivingStrokesGainedBreakdown.averageDriveDistance
        longestDriveDistance:
          title: DrivingStrokesGainedBreakdown.longestDriveDistance
          type: number
        hitFairwaysPercent:
          $ref: '#/components/schemas/TraditionalStatComparison'
          title: DrivingStrokesGainedBreakdown.hitFairwaysPercent
        hitFairways:
          properties:
            chances:
              title: DrivingStrokesGainedBreakdown.hitFairways.chances
              type: number
            successes:
              title: DrivingStrokesGainedBreakdown.hitFairways.successes
              type: number
          required:
          - chances
          - successes
          additionalProperties: false
          title: DrivingStrokesGainedBreakdown.hitFairways
          type: object
      required:
      - numberOfShots
      - longestDriveDistance
      - hitFairways
      additionalProperties: false
      title: DrivingStrokesGainedBreakdown
      type: object
    RoundDetails:
      allOf:
      - $ref: '#/components/schemas/Round'
      - properties:
          holes:
            items:
              $ref: '#/components/schemas/RoundHole'
              title: holes.[]
            title: holes
            type: array
        required:
        - holes
        additionalProperties: false
        type: object
      title: RoundDetails
    GetRoundsResponse:
      allOf:
      - $ref: '#/components/schemas/PagedResponseHelper'
      - properties:
          results:
            items:
              $ref: '#/components/schemas/Round'
              title: results.[]
            title: results
            type: array
        required:
        - results
        additionalProperties: false
        type: object
      title: GetRoundsResponse
    Round:
      properties:
        roundId:
          title: Round.roundId
          type: number
        userId:
          title: Round.userId
          type: string
        startTime:
          title: Round.startTime
          type: string
        endTime:
          title: Round.endTime
          type:
          - string
          - 'null'
        totalScore:
          title: Round.totalScore
          type:
          - number
          - 'null'
        courseId:
          title: Round.courseId
          type: number
        courseVersion:
          title: Round.courseVersion
          type: number
        courseName:
          title: Round.courseName
          type: string
        numberOfHoles:
          title: Round.numberOfHoles
          type: number
        tee:
          $ref: '#/components/schemas/Tee'
          title: Round.tee
      required:
      - roundId
      - userId
      - startTime
      - endTime
      - totalScore
      - courseId
      - courseVersion
      - courseName
      - numberOfHoles
      - tee
      additionalProperties: false
      title: Round
      type: object
    RoundStats:
      properties:
        overall:
          properties:
            numberOfShots:
              title: RoundStats.overall.numberOfShots
              type: number
            totalShotDistance:
              title: RoundStats.overall.totalShotDistance
              type: number
          required:
          - numberOfShots
          - totalShotDistance
          additionalProperties: false
          title: RoundStats.overall
          type: object
        driving:
          $ref: '#/components/schemas/DrivingStrokesGainedBreakdown'
          title: RoundStats.driving
        approach:
          $ref: '#/components/schemas/ApproachStrokesGainedBreakdown'
          title: RoundStats.approach
        short:
          $ref: '#/components/schemas/ShortStrokesGainedBreakdown'
          title: RoundStats.short
        putt:
          $ref: '#/components/schemas/PuttStrokesGainedBreakdown'
          title: RoundStats.putt
      required:
      - overall
      - driving
      - approach
      - short
      - putt
      additionalProperties: false
      title: RoundStats
      type: object
    PagedResponseHelper:
      properties:
        paging:
          properties:
            limit:
              title: PagedResponseHelper.paging.limit
              type: number
            offset:
              title: PagedResponseHelper.paging.offset
              type: number
            previous:
              title: PagedResponseHelper.paging.previous
              type: string
            next:
              title: PagedResponseHelper.paging.next
              type: string
          required:
          - limit
          - offset
          additionalProperties: false
          title: PagedResponseHelper.paging
          type: object
        results:
          items:
            title: PagedResponseHelper.results.[]
          title: PagedResponseHelper.results
          type: array
      required:
      - paging
      - results
      additionalProperties: false
      title: PagedResponseHelper
      type: object
    Shot:
      properties:
        shotId:
          title: Shot.shotId
          type: number
        clubId:
          title: Shot.clubId
          type: number
        clubType:
          title: Shot.clubType
          type: string
        startLocation:
          $ref: '#/components/schemas/Location'
          title: Shot.startLocation
        endLocation:
          anyOf:
          - $ref: '#/components/schemas/Location'
            title: Shot.endLocation
          - properties:
              latitude:
                title: Shot.endLocation.latitude
              longitude:
                title: Shot.endLocation.longitude
            required:
            - latitude
            - longitude
            additionalProperties: false
            title: Shot.endLocation
            type: object
          title: Shot.endLocation
        shotDistance:
          title: Shot.shotDistance
          type: number
        shotTime:
          title: Shot.shotTime
          type: string
        startAltitude:
          title: Shot.startAltitude
          type:
          - number
          - 'null'
        endAltitude:
          title: Shot.endAltitude
          type:
          - number
          - 'null'
        numberOfPenalties:
          title: Shot.numberOfPenalties
          type: number
        startTerrain:
          anyOf:
          - $ref: '#/components/schemas/Terrain'
            title: Shot.startTerrain
          - title: Shot.startTerrain
          title: Shot.startTerrain
        endTerrain:
          anyOf:
          - $ref: '#/components/schemas/Terrain'
            title: Shot.endTerrain
          - title: Shot.endTerrain
          title: Shot.endTerrain
        startMetersToCenterOfGreen:
          title: Shot.startMetersToCenterOfGreen
          description: The starting distance to the center of the green in meters for non-putt shots.
          type:
          - number
          - 'null'
        endMetersToCenterOfGreenMeters:
          title: Shot.endMetersToCenterOfGreenMeters
          description: The ending distance to the center of the green in meters for non-putt shots
          type:
          - number
          - 'null'
        endsOnFairway:
          anyOf:
          - enum:
            - T
            - F
            title: Shot.endsOnFairway
            type: string
          - title: Shot.endsOnFairway
          title: Shot.endsOnFairway
          description: If the result of the shot was in the fairway, for drive or approach shots only.
        isLeftOfFairway:
          anyOf:
          - enum:
            - T
            - F
            title: Shot.isLeftOfFairway
            type: string
          - title: Shot.isLeftOfFairway
          title: Shot.isLeftOfFairway
          description: If the result of the shot is outside the left boundary of the fairway, for drive or approach shots only.
        isRightOfFairway:
          anyOf:
          - enum:
            - T
            - F
            title: Shot.isRightOfFairway
            type: string
          - title: Shot.isRightOfFairway
          title: Shot.isRightOfFairway
          description: If the result of the shot is outside the right boundary of the fairway, for drive or approach shots only.
        isLeftOfCenterline:
          anyOf:
          - enum:
            - T
            - F
            title: Shot.isLeftOfCenterline
            type: string
          - title: Shot.isLeftOfCenterline
          title: Shot.isLeftOfCenterline
          description: If the shot is left of the fairway centerline, for drive or approach shots only.
        isRightOfCenterline:
          anyOf:
          - enum:
            - T
            - F
            title: Shot.isRightOfCenterline
            type: string
          - title: Shot.isRightOfCenterline
          title: Shot.isRightOfCenterline
          description: If the shot is right of the fairway centerline, for drive or approach shots only.
        metersFromFairwayBounds:
          title: Shot.metersFromFairwayBounds
          description: The distance in meters from the bounds of the fairway, for drive or approach shots only
          type:
          - number
          - 'null'
        metersFromFairwayCenterline:
          title: Shot.metersFromFairwayCenterline
          description: The distance, in meters, from the centerline of the fairway, for drive or approach shots only
          type:
          - number
          - 'null'
      required:
      - shotId
      - clubId
      - clubType
      - startLocation
      - endLocation
      - shotDistance
      - shotTime
      - startAltitude
      - endAltitude
      - numberOfPenalties
      - startTerrain
      - endTerrain
      - startMetersToCenterOfGreen
      - endMetersToCenterOfGreenMeters
      - endsOnFairway
      - isLeftOfFairway
      - isRightOfFairway
      - isLeftOfCenterline
      - isRightOfCenterline
      - metersFromFairwayBounds
      - metersFromFairwayCenterline
      additionalProperties: false
      title: Shot
      type: object
    Pin:
      allOf:
      - $ref: '#/components/schemas/Location'
      - additionalProperties: false
        type: object
      title: Pin
    GetOneRoundResponse:
      $ref: '#/components/schemas/RoundDetails'
      title: GetOneRoundResponse
    Location:
      properties:
        latitude:
          title: Location.latitude
          type: number
        longitude:
          title: Location.longitude
          type: number
      required:
      - latitude
      - longitude
      additionalProperties: false
      title: Location
      type: object
    RoundHole:
      allOf:
      - $ref: '#/components/schemas/Hole'
      - properties:
          stats:
            items:
              $ref: '#/components/schemas/HoleStat'
              title: stats.[]
            title: stats
            type: array
          startTime:
            title: startTime
            type: string
          endTime:
            title: endTime
            type: string
          mensPar:
            title: mensPar
            type: number
          womensPar:
            title: womensPar
            type: number
          pin:
            $ref: '#/components/schemas/Pin'
            title: pin
          shots:
            items:
              $ref: '#/components/schemas/Shot'
              title: shots.[]
            title: shots
            type: array
        required:
        - stats
        - startTime
        - endTime
        - mensPar
        - womensPar
        - pin
        - shots
        additionalProperties: false
        type: object
      title: RoundHole
    Tee:
      properties:
        teeId:
          title: Tee.teeId
          description: the numeric identifier for the tee. this is unique against the courseId and courseVersion, not globally unique
          type: number
        teeName:
          title: Tee.teeName
          description: the display string for the tee that was played
          type: string
      required:
      - teeId
      - teeName
      additionalProperties: false
      title: Tee
      type: object
  securitySchemes:
    AccessCodeAuth:
      type: oauth2
      flows:
        authorizationCode:
          scopes:
            openid: Required for all endpoints that have userId in the path
            arccos/read:users: Grants read users access
            arccos/read:rounds: Grants read rounds access
            arccos/read:clubs: Grants read clubs access
          authorizationUrl: https://signin.arccosgolf.com/login
          tokenUrl: https://api.arccosgolf.com/oauth2/token
    BasicAuth:
      type: http
      scheme: basic
x-refined-from:
- arccos-golf-on-course-data-api-openapi.yml
- arccos-golf-rounds-api-openapi.yml