Gorilla Dash offers two APIs for developers. The REST API connects your organisation to other systems, such as a CRM, an automation tool or a reporting database. The GraphQL API powers websites that display your Gorilla Dash content. They use different credentials and different addresses, and each has its own documentation, so the first decision is which of the two you need.
Both APIs use the word tribe, as the rest of Gorilla Dash does. A tribe is one location, branch or business unit inside your organisation, and arguments such as tribe_id and tribe_slug select one.
The two APIs side by side
| REST API | GraphQL API | |
|---|---|---|
| Built for | Integrations between Gorilla Dash and your other systems | Websites built for a Gorilla Dash organisation |
| Typical uses | Pushing leads in, reading contacts and enquiries out, keeping another system in sync | Showing pages, tribes, products, articles and menus on a website, and sending enquiries, bookings and orders back |
| Address | https://api.gorilladash.com/api/v1 | https://graphql.gorilladash.com/graphql |
| Credentials belong to | Your organisation, or one tribe | One website set up in Gorilla Dash |
| How you sign requests | Two headers, GorillaDash-Api-Key and GorillaDash-Api-Secret, on every call | Exchange the website's credentials for an access token, then send it as Authorization: Bearer |
| Where to find the credentials | Organisation Settings, then Connections | Websites, choose the website, then Settings and the Website API section |
| Full documentation | docs.gorilladash.com | gorilladash.com/graphql |
Which one do I need?
Ask what the code you are writing is part of. If it is a website that Gorilla Dash has been set up to serve, use the GraphQL API. For anything else, use the REST API.
| I want to... | Use |
|---|---|
| Send leads from a landing page, an ad platform or Zapier into Gorilla Dash | REST API |
| Copy contacts or enquiries into a CRM, an accounting package or a data warehouse | REST API |
| Show a list of tribes, with addresses and opening hours, on a site that is not a Gorilla Dash website | REST API |
| Build or extend the website for an organisation, using its pages, menus and products | GraphQL API |
| Add a store locator, a product catalogue or a blog to a Gorilla Dash website | GraphQL API |
| Take enquiries, appointment bookings or food orders on a Gorilla Dash website | GraphQL API |
The credentials are not interchangeable. A REST API key is refused by the GraphQL API, and a website's GraphQL credentials are refused by the REST API.
Getting started with the REST API
- Open Organisation Settings and choose Connections. Copy the Organisation API Key and Organisation API Access Token shown under Gorilla Dash API. You need the Edit Organisation Settings permission to see this screen.
- Open Organisation Settings, then Gorilla Settings, and check that Disable RESTful API is turned off.
- Call
GET https://api.gorilladash.com/api/v1/pingwith the key in theGorillaDash-Api-Keyheader and the access token in theGorillaDash-Api-Secretheader. A response with HTTP status 201 confirms that your credentials work. - Open the API reference at docs.gorilladash.com for every endpoint's fields, example requests and a console you can try calls from.
The other guides in this section explain how each REST endpoint behaves in practice. Start with the overview of the Gorilla Dash API, then the guide to API keys, which explains what an organisation key and a tribe key can each see.
Getting started with the GraphQL API
- Open the organisation that owns the website, select Websites, and choose the website you are building. You need permission to manage websites in the organisation.
- Select Settings and scroll to the Website API section. API Website ID is your OAuth client ID and API Access Token is your client secret.
- On your website's server, send both values to
https://graphql.gorilladash.com/oauth/tokenusing the OAuth 2 client credentials grant. The response contains an access token that lasts 15 days. - Send your GraphQL queries to
https://graphql.gorilladash.com/graphqlwith the headerAuthorization: Bearerfollowed by that access token. - Read the developer documentation at gorilladash.com/graphql. It has worked examples for each of these steps, and a reference for every query, mutation and type, generated from the live schema.
When an integration stops working
Each API has its own switch in Organisation Settings, then Gorilla Settings. Disable RESTful API refuses every REST call for the organisation and all of its tribes. Disable client websites refuses the GraphQL API to every website the organisation owns. If a working integration or website suddenly stops returning data, check these two switches before anything else, then confirm that nobody has regenerated the credentials.
query TribePage so that we can find it. Never send us your API access token or secret.