# Intervals.icu OAuth support

**URL:** <https://forum.intervals.icu/t/intervals-icu-oauth-support/2759>\
**Category:** Announcements\
**Created:** [30 January 2021 14:51 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759 "2021-01-30T14:51:05Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![Sensitron](https://forum.intervals.icu/user_avatar/forum.intervals.icu/sensitron/32/56043_2.png) [@Sensitron](https://forum.intervals.icu/u/Sensitron)\
**Post date:** [27 June 2025 11:14 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/41 "2025-06-27T11:14:57Z")

</div>

Is a privacy policy mandatory when creating/requesting a new app? I just started developing and dont have one yet. Ofc i could just generate a dummy privacy policy i that is sufficent.

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [27 June 2025 12:21 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/42 "2025-06-27T12:21:36Z")

</div>

No you don’t have to start with one. Your app will start only visible to yourself. When you want all users to be able to see it then you need to have a privacy policy in place.

---

<div class="post-metadata">

**Author:** ![Sensitron](https://forum.intervals.icu/user_avatar/forum.intervals.icu/sensitron/32/56043_2.png) [@Sensitron](https://forum.intervals.icu/u/Sensitron)\
**Post date:** [11 July 2025 06:34 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/43 "2025-07-11T06:34:47Z")

</div>

Hi David,

Sorry for being impatient. I sent you an email 11 days ago about the app integration, did you already see it?

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [11 July 2025 06:39 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/44 "2025-07-11T06:39:49Z")

</div>

No I didn’t see anything. Please resend to david@intervals.icu and I will sort it out right away.

---

<div class="post-metadata">

**Author:** ![Sensitron](https://forum.intervals.icu/user_avatar/forum.intervals.icu/sensitron/32/56043_2.png) [@Sensitron](https://forum.intervals.icu/u/Sensitron)\
**Post date:** [11 July 2025 06:53 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/45 "2025-07-11T06:53:20Z")

</div>

done.

---

<div class="post-metadata">

**Author:** ![Mr\_Jan\_Exner](https://forum.intervals.icu/user_avatar/forum.intervals.icu/mr_jan_exner/32/62768_2.png) [@Mr\_Jan\_Exner](https://forum.intervals.icu/u/Mr_Jan_Exner)\
**Post date:** [24 August 2025 17:34 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/46 "2025-08-24T17:34:29Z")

</div>

Hi David!

Can I ask a question re Scopes? If I want to read athlete data (get /api/v1/athlete/{id}) and gear data (get /api/v1/athlete/{id}/gear{ext}), what scope do I need?

I tried “ATHLETE:READ,GEAR:READ”, but neither exists.

Cheers,  
Jan

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [24 August 2025 18:07 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/47 "2025-08-24T18:07:52Z")

</div>

These are the scopes: ACTIVITY, WELLNESS, CALENDAR, LIBRARY, SETTINGS

You need SETTINGS:READ for those.

---

<div class="post-metadata">

**Author:** ![Mr\_Jan\_Exner](https://forum.intervals.icu/user_avatar/forum.intervals.icu/mr_jan_exner/32/62768_2.png) [@Mr\_Jan\_Exner](https://forum.intervals.icu/u/Mr_Jan_Exner)\
**Post date:** [24 August 2025 18:58 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/48 "2025-08-24T18:58:55Z")

</div>

Thanks, that helps!

I can read the athlete, but I get a 405 if I try reading gear.

 ![image](https://forum.intervals.icu/uploads/default/original/3X/b/b/bbd69e3e45a415ad6f492edc6ee81ff5c892a20b.png)

Wait… that seems to be my app, because on the documentation site it works, with the same access-token.

I’ll try providing the athlete\_id…

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [25 August 2025 06:24 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/49 "2025-08-25T06:24:07Z")

</div>

There isn’t an endpoint to get an individual bit of gear. You need to use the one that lists all gear for the athlete:

```
GET /api/v1/athlete/{id}/gear{ext}

```

You can pass 0 for the athlete id.

---

<div class="post-metadata">

**Author:** ![Mr\_Jan\_Exner](https://forum.intervals.icu/user_avatar/forum.intervals.icu/mr_jan_exner/32/62768_2.png) [@Mr\_Jan\_Exner](https://forum.intervals.icu/u/Mr_Jan_Exner)\
**Post date:** [25 August 2025 06:54 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/50 "2025-08-25T06:54:36Z")

</div>

Ah!

And the documentation says that, too, urgh.

Thanks for your patience, David!

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [30 September 2025 09:06 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/51 "2025-09-30T09:06:37Z")

</div>

OAuth apps can now subscribe to webhooks for chat messages and so on. Note that groups are also chats so this support includes group messages.

 ![Screenshot 2025-09-30 at 11.02.55](https://forum.intervals.icu/uploads/default/original/3X/1/3/13890d37baec15ecf514c79d2aea08ad9d8fa91e.png)

Sample new message payload:

```auto
{
  "secret": "...",
  "events": [
    {
      "athlete_id": "2049151",
      "type": "CHAT_UPDATE",
      "timestamp": "2025-09-30T07:18:59.147+00:00",
      "payload": {
        "type": "MESSAGES",
        "chat_id": 2741,
        "new_message_count": 1,
        "messages": [
          {
            "id": 2961313,
            "athlete_id": "xxx",
            "name": "xxx",
            "created": "2025-09-30T07:18:59.063+00:00",
            "type": "TEXT",
            "content": "bar"
          }
        ]
      }
    }
  ]
}

```

Sample new chat payload (another athlete has initiated a chat):

```auto
{
  "secret": "...",
  "events": [
    {
      "athlete_id": "2049151",
      "type": "CHAT_UPDATE",
      "timestamp": "2025-09-30T07:22:59.005+00:00",
      "payload": {
        "type": "CHATS",
        "chats": [
          {
            "id": 1036589,
            "type": "PRIVATE",
            "updated": "2025-09-30T07:22:58.986+00:00",
            "name": "John xxx",
            "picture": "https://...",
            "pub": false,
            "hide_members": false,
            "members_cannot_chat": false,
            "other_athlete_id": "xxx",
            "other_athlete_sex": "M",
            "role": "ADMIN",
            "new_message_count": 1,
            "last_seen_message_id": 0
          }
        ]
      }
    }
  ]
}

```

Combine this with the chat endpoints to build Intervals.icu chat into your applications.

> **[Intervals.icu API docs](https://intervals.icu/api-docs.html#get-/api/v1/athlete/-id-/chats)**
>
> Integrate your app with Intervals.icu

---

<div class="post-metadata">

**Author:** ![Mark\_Boulton](https://forum.intervals.icu/user_avatar/forum.intervals.icu/mark_boulton/32/64702_2.png) [@Mark\_Boulton](https://forum.intervals.icu/u/Mark_Boulton)\
**Post date:** [1 October 2025 09:59 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/52 "2025-10-01T09:59:32Z")

</div>

Hi David - i’m building an OAuth integration for iOS and I continue to hit this error when trying to authenticate. I can confirm my details are correct when trying so, and i’m pretty stumped as to what is causing this. What is the ‘network error’ error raised for?

 ![Screenshot 2025-10-01 at 11.00.03](https://forum.intervals.icu/uploads/default/original/3X/5/9/59762f24b2f9a19b55f8643d216282f55ebe70e0.jpeg)

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [1 October 2025 10:31 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/53 "2025-10-01T10:31:41Z")

</div>

I don’t know what that is. Can you login from a normal Safari window?

---

<div class="post-metadata">

**Author:** ![Mark\_Boulton](https://forum.intervals.icu/user_avatar/forum.intervals.icu/mark_boulton/32/64702_2.png) [@Mark\_Boulton](https://forum.intervals.icu/u/Mark_Boulton)\
**Post date:** [1 October 2025 10:41 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/54 "2025-10-01T10:41:21Z")

</div>

Yes, I can and it works fine. I was wondering if this is a known issue for some reason on iOS.

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [1 October 2025 11:04 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/55 "2025-10-01T11:04:59Z")

</div>

Not that I am aware of. There are several IOS apps that connect with Intervals.icu. Maybe some settings in the web view are blocking network calls? The login is just a JSON POST to an Intervals.icu endpoint.

---

<div class="post-metadata">

**Author:** ![Mark\_Boulton](https://forum.intervals.icu/user_avatar/forum.intervals.icu/mark_boulton/32/64702_2.png) [@Mark\_Boulton](https://forum.intervals.icu/u/Mark_Boulton)\
**Post date:** [1 October 2025 11:33 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/56 "2025-10-01T11:33:46Z")

</div>

Ok thanks. I’ll investigate further and if i fix it i’ll post it back - just in case anyone else experiences it.

---

<div class="post-metadata">

**Author:** ![Mark\_Boulton](https://forum.intervals.icu/user_avatar/forum.intervals.icu/mark_boulton/32/64702_2.png) [@Mark\_Boulton](https://forum.intervals.icu/u/Mark_Boulton)\
**Post date:** [1 October 2025 12:18 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/57 "2025-10-01T12:18:55Z")

</div>

Looks like this is an cert issue as i’m on a corporate machine and network which intercepts SSL and was blocking it causing this error. Not sure there is a workaround to be had using this machine. I can verify once I get on a different machine/network

---

<div class="post-metadata">

**Author:** ![R2Tom](https://forum.intervals.icu/user_avatar/forum.intervals.icu/r2tom/32/50144_2.png) [@R2Tom](https://forum.intervals.icu/u/R2Tom)\
**Post date:** [22 January 2026 20:20 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/58 "2026-01-22T20:20:40Z")

</div>

2 posts were merged into an existing topic: [API access to Intervals.icu](https://forum.intervals.icu/t/api-access-to-intervals-icu/609/668)

---

<div class="post-metadata">

**Author:** ![Ruud\_Goorden](https://forum.intervals.icu/user_avatar/forum.intervals.icu/ruud_goorden/32/66371_2.png) [@Ruud\_Goorden](https://forum.intervals.icu/u/Ruud_Goorden)\
**Post date:** [25 January 2026 19:17 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/59 "2026-01-25T19:17:27Z")

</div>

Hi. Maybe I have missed it, but what does the OAuth API use **per-access-token** rate limits? and if yes this are the limits: From a post of August 2025 I found:

“The rate limits are currently 30/s for 1s and also 132/10s. So if you go with 10/s you shouldn’t have any issues. Tx.”

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [26 January 2026 06:19 UTC](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759/60 "2026-01-26T06:19:32Z")

</div>

The rate limits are currently per IP address and approx 10/s with some bursting. If you use 9/s you should be fine.

[Previous page](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759.md?page=2)

[Next page](https://forum.intervals.icu/t/intervals-icu-oauth-support/2759.md?page=4)
