Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.
openapi: 3.2.0
info:
title: Routine Run connections Routines API
version: '1'
description: An address made in the Routine Run app (Settings › Connections) starts or moves a routine on the one iPhone that made it. https://routinerun.com/developers
servers:
- url: https://api.routinerun.com/v1/in/{connection}
variables:
connection:
default: 00000000-0000-0000-0000-000000000000
description: The connection's id, from its address.
security:
- secret: []
tags:
- name: Routines
paths:
/routines/{routine}/steps:
post:
summary: Add a step to a list that stays open
parameters:
- name: routine
in: path
required: true
schema:
type: string
description: The routine's name or id.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- title
properties:
title:
type: string
description: The step, or a link.
detail:
type: string
description: A line under it.
responses:
'202':
description: Handed to Apple for the phone. Not yet done.
content:
application/json:
schema:
$ref: '#/components/schemas/Accepted'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'409':
$ref: '#/components/responses/Error'
'410':
$ref: '#/components/responses/Error'
'413':
$ref: '#/components/responses/Error'
'429':
$ref: '#/components/responses/Error'
tags:
- Routines
operationId: postRoutinesByRoutineSteps
x-operation-id-source: derived
/routines:
get:
summary: List routines
operationId: listRoutines
responses:
'200':
description: The phone's answer
'504':
description: The phone did not answer in time
parameters:
- name: match
in: query
required: false
schema:
type: string
description: Part of a name
tags:
- Routines
/routines/{routine}:
get:
summary: One routine's steps
operationId: getRoutine
responses:
'200':
description: The phone's answer
'504':
description: The phone did not answer in time
parameters:
- name: routine
in: path
required: true
schema:
type: string
description: Name or id
tags:
- Routines
components:
responses:
Error:
description: Refused; error says why.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
Accepted:
type: object
properties:
command:
type: string
format: uuid
accepted:
type: boolean
Error:
type: object
properties:
error:
type: string
securitySchemes:
secret:
type: http
scheme: bearer
description: The connection's secret, rr_…, shown in the app.