Skip to content

Overview

The JSON API is for scripts. It does what the MCP tools do and returns the same JSON, so anything an assistant can do, a script can too.

Authentication

Send a nurse_ API token as a bearer token. Tokens are the same ones MCP uses: create one on the API tokens page.

curl -H "Authorization: Bearer nurse_..." https://app.nurseshark.org/api/projects

Requests and responses

GET requests take their parameters in the query string. POST and PATCH take a JSON object with the fields at the top level, sent with Content-Type: application/json. Responses are JSON, apart from a deleted project’s empty 204. Fields that have no value are left out rather than sent as null, and new fields may be added at any time, so ignore ones you don’t know.

Errors

Errors come back as JSON with an error message saying what to change. Validation failures add errors, the messages for each field:

{ "error": "Name is too long (maximum is 64 characters)", "errors": { "name": ["Name is too long (maximum is 64 characters)"] } }
Status Means
400 A required parameter is missing.
401 The token is missing, invalid or expired.
404 No project with that name, slug or UUID belongs to this account.
422 The request was understood but can’t be done, for example a value over its limit or a name already in use. error says what to change.
429 Over the rate limit. Try again in a minute.

Rate limits

Each token can make 120 requests a minute, and each account 300 across all its tokens, MCP included. Requests over either limit get a 429.

Information

  • OpenAPI version: 3.1.0

A nurse_ API token. Create one at https://app.nurseshark.org/api_tokens.

Security scheme type: http