Rate limits for API users

I want to create a sister app at some point that will post topics on to the forum via an API user account - is there any info available on rate limits for this? Can we ‘trust’ certain accounts so that rate limits do not apply?

As far as I know, using an API key (generated in the admin interface) bypasses rate limits that are checked within the rails stack, e.g. limits on the number of posts.
It will not bypass the general limit on the number of requests per second enforced by nginx, but most likely, that won’t be a problem :slight_smile:

You can explicitly bypass validations if you are using the API and API key, the limits in general will hold though.

I’m not too bothered by validations Sam, but by-passing rate limits for specific accounts could be helpful.

Does the response include the specific error code if rate limits have been by-passed? That could be helpful if there’s no chance of including an option to by-pass…

I kind of worry about answering questions about problems that do not exist :blush:

If you hit the limits let me know and let me know what errors you are getting

I did actually hit the limit previously - we currently have 6 monthly giveaways and every night a cron runs to check whether there is a ‘bonus day’, if there is, it posts an update on the forum. What I was finding was the crons running later weren’t posting. However I’ve since changed the cron jobs to run a minute after each other. (This is fine for this situation.)

I’ll keep you posted re the other app (which will be posting via the API much more frequently) though I don’t expect this to go live for a few months yet.

We use discourse via API from a Rails server. Which means all the traffic coming from one IP. We have enough traffic that it hits the rate limiter. I second the need for an API exception to this rate limit.

Это может быть отличным поводом для комментария сегодня, @sam. Существуют ли ограничения для тех, кто размещает сервис самостоятельно? Есть ли у нас ограничения? Как мы сейчас к этому подходим, учитывая, что всё изменилось…

В настоящее время у нас существуют явные глобальные ограничения для API, однако иногда они накладываются друг на друга.

Некоторые контроллеры вводят свои ограничения, например, максимальное количество тем, которые можно создать за N секунд, и так далее.

Для тривиальных GET-запросов вы можете значительно повысить лимит скорости работы API и не столкнуться с ограничениями со стороны Discourse. Однако в NGINX всё ещё есть некоторые ограничения, которые потребуется настроить.

Как это повлияет на учётную запись, которая хочет создавать новые темы или сообщения через свой API-ключ, Сэм?

Где мы можем это сделать, Сэм?

Я также в настоящее время рассматриваю возможность создания портала, который будет использовать gem discourse_api для извлечения большого количества данных из форума. Скорее всего, я столкнусь с ограничениями скорости здесь? Мне бы очень хотелось, чтобы мы могли обходить любые ограничения скорости для учётных записей, которые мы помечаем как «безопасные».

Рекомендую ознакомиться с нашими ограничениями скорости здесь:

У нас также должна быть документация по различным другим ограничениям, размещённая на meta.

Спасибо, Сэм. Итак, для будущих обращений (и для всех, кто будет искать эту информацию позже), вот полная информация:

У меня есть вопрос о частных IP-адресах, но я опубликую его в основной теме. Эту тему, вероятно, можно закрыть сейчас, так как та тема новее.