Nooks Users API

Manage workspace users

Operations 2

GET /users List users #
GET /users/{id} Get user by ID #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/nooks-users-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

nooks-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Nooks Sequencing Users API
  version: 0.1.0
  description: The Nooks Sequencing API provides programmatic access to manage sequences, tasks, templates, and prospect engagement workflows created using the Nooks SEP.
  contact:
    name: Nooks API Support
    email: support@nooks.in
    url: https://www.nooks.in
  license:
    name: Proprietary
  x-logo:
    url: ./nooks-logo.svg
    altText: Nooks Logo
    href: https://www.nooks.ai
servers:
- url: https://partner-api.nooks.in/v1
  description: Production API
security:
- BearerAuth: []
tags:
- name: Users
  description: Manage workspace users
paths:
  /users:
    get:
      operationId: listUsers
      summary: List users
      description: 'Returns a paginated list of users in the workspace. Only users with active seat assignments are returned.


        Example:

        ```bash

        curl -X GET ''https://partner-api.nooks.in/v1/users?page[size]=50'' \

        -H "Authorization: Bearer nooks-api-..."

        ```


        Filter by email:

        ```bash

        curl -X GET ''https://partner-api.nooks.in/v1/users?filter[email]=jane@example.com'' \

        -H "Authorization: Bearer nooks-api-..."

        ```


        Filter by CRM id — looks up the Nooks user mapped to the given external

        id in the connected CRM (e.g. a Salesforce `User.Id` / `OwnerId`).

        Returns an empty list if no Nooks user is mapped to that id:

        ```bash

        curl -X GET ''https://partner-api.nooks.in/v1/users?filter[crmId]=0051a000000XyzABC'' \

        -H "Authorization: Bearer nooks-api-..."

        ```'
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageAfter'
      - $ref: '#/components/parameters/PageBefore'
      - name: filter[name]
        in: query
        description: Filter users by exact name match
        required: false
        schema:
          type: string
        example: Jane Doe
      - name: filter[email]
        in: query
        description: Filter users by exact email match.
        required: false
        schema:
          type: string
          format: email
        example: jane@example.com
      - name: filter[crmId]
        in: query
        description: 'Filter to the Nooks user mapped to the given id in the customer''s CRM (e.g. a Salesforce User.Id or OwnerId). Resolved via the workspace''s CRM user mappings. Returns an empty list if no Nooks user is mapped to the given id.

          '
        required: false
        schema:
          type: string
        example: 0051a000000XyzABC
      - $ref: '#/components/parameters/FilterUpdatedAtGte'
      - $ref: '#/components/parameters/FilterUpdatedAtLt'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/User'
                  links:
                    $ref: '#/components/schemas/PaginationLinks'
              example:
                data:
                - id: KKLvN5wQoghWFwUvC75CZ12QM7I3
                  name: Jane Doe
                  email: jane@example.com
                  crmId: 0051a000000XyzABC
                  createdAt: '2025-09-29T22:10:51.271Z'
                  updatedAt: '2025-10-07T20:42:17.281Z'
                - id: 1erKK6gEL7ZUDFPEjCiHfV02fFD3
                  name: John Smith
                  email: john@example.com
                  crmId: null
                  createdAt: '2025-10-06T14:39:35.322Z'
                  updatedAt: '2026-02-27T22:04:32.536Z'
                links:
                  first: https://partner-api.nooks.in/v1/users?page[size]=50
                  prev: null
                  next: https://partner-api.nooks.in/v1/users?page[size]=50&page[after]=eyJpZCI6IjFlcktLNmdFTDdaVURGUEVqQ2lIZlYwMmZGRDMiLCJ2IjoxfQ
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
  /users/{id}:
    get:
      operationId: getUser
      summary: Get user by ID
      description: 'Returns a single user by their unique identifier. Returns 404 if the user does not exist or does not have a seat assignment in the workspace.


        Example:

        ```bash

        curl -X GET ''https://partner-api.nooks.in/v1/users/KKLvN5wQoghWFwUvC75CZ12QM7I3'' \

        -H "Authorization: Bearer nooks-api-..."

        ```'
      tags:
      - Users
      parameters:
      - name: id
        in: path
        required: true
        description: Unique identifier for the user
        schema:
          type: string
        example: KKLvN5wQoghWFwUvC75CZ12QM7I3
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
              example:
                id: KKLvN5wQoghWFwUvC75CZ12QM7I3
                name: Jane Doe
                email: jane@example.com
                crmId: 0051a000000XyzABC
                createdAt: '2025-09-29T22:10:51.271Z'
                updatedAt: '2025-10-07T20:42:17.281Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  responses:
    Unauthorized:
      description: Unauthorized - invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: UNAUTHORIZED
              message: Invalid or missing API key
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: NOT_FOUND
              message: The requested resource was not found
    BadRequest:
      description: Bad request - invalid parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: BAD_REQUEST
              message: Invalid page[after] cursor
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INTERNAL_ERROR
              message: An unexpected error occurred
  parameters:
    PageSize:
      name: page[size]
      in: query
      description: Number of items per page (max 100)
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 50
      example: 50
    FilterUpdatedAtLt:
      name: filter[updatedAt][lt]
      in: query
      description: Filter by updatedAt before this timestamp, exclusive (ISO 8601 datetime)
      required: false
      schema:
        type: string
        format: date-time
      example: '2026-01-01T00:00:00Z'
    PageAfter:
      name: page[after]
      in: query
      description: 'Cursor for fetching the next page. Opaque token returned by the

        API in `links.next`; callers should treat it as opaque and only

        pass values they received from a previous response. Malformed

        cursors return `400 Bad Request`.

        '
      required: false
      schema:
        type: string
      example: eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCIsInYiOjF9
    FilterUpdatedAtGte:
      name: filter[updatedAt][gte]
      in: query
      description: Filter by minimum updatedAt (ISO 8601 datetime)
      required: false
      schema:
        type: string
        format: date-time
      example: '2025-01-01T00:00:00Z'
    PageBefore:
      name: page[before]
      in: query
      description: 'Cursor for fetching the previous page. Opaque token returned by

        the API in `links.prev`; callers should treat it as opaque and

        only pass values they received from a previous response.

        Malformed cursors return `400 Bad Request`.

        '
      required: false
      schema:
        type: string
      example: eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCIsInYiOjF9
  schemas:
    PaginationLinks:
      type: object
      description: 'Pagination links for navigating through results.

        Links are returned as relative references (path + query) that

        should be resolved against the base URL of the request.

        '
      properties:
        first:
          type: string
          format: uri-reference
          description: URL for the first page
          example: /v1/sequences?page[size]=50
        prev:
          type: string
          format: uri-reference
          nullable: true
          description: URL for the previous page (null if on first page)
          example: null
        next:
          type: string
          format: uri-reference
          nullable: true
          description: URL for the next page (null if on last page)
          example: /v1/sequences?page[size]=50&page[after]=eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCIsInYiOjF9
    Error:
      type: object
      description: Standard error response
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Error code
              example: NOT_FOUND
            message:
              type: string
              description: Human-readable error message
              example: The requested resource was not found
        traceId:
          type: string
          description: 'Request trace identifier for correlating this error with server

            logs and support requests. Present whenever the request carried a

            trace context (the normal case); omitted otherwise.

            '
          example: abc123def456
    User:
      type: object
      description: A workspace user
      properties:
        id:
          type: string
          description: Unique identifier for the user
          example: KKLvN5wQoghWFwUvC75CZ12QM7I3
        name:
          type: string
          description: Full name of the user
          example: Jane Doe
        email:
          type: string
          format: email
          description: Email address of the user
          example: jane@example.com
        crmId:
          type: string
          nullable: true
          description: 'The user''s id in the customer''s CRM of record (e.g. a Salesforce User.Id / OwnerId), resolved via the workspace''s CRM user mappings. Null when the user has no CRM mapping.

            '
          example: 0051a000000XyzABC
        createdAt:
          type: string
          format: date-time
          description: When the user was created
          example: '2025-09-29T22:10:51.271Z'
        updatedAt:
          type: string
          format: date-time
          description: When the user was last updated
          example: '2025-10-07T20:42:17.281Z'
      required:
      - id
      - name
      - email
      - crmId
      - createdAt
      - updatedAt
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: 'Bearer token sent in the `Authorization` header. Accepts either a

        long-lived Nooks API key (`nooks-api-...`, from Developer Settings →

        API Keys) or an OAuth 2.0 access token issued by

        `https://oauth.nooks.in`. Use whichever you already have — the API

        validates both formats on the same header. For full OAuth flow

        details (authorize/token endpoints, scopes, refresh behavior) see

        the Authentication section of this spec''s introduction.

        '
x-tagGroups:
- name: API Reference
  tags:
  - Sequences
  - SequenceSteps
  - Emails
  - Users
  - SequenceStates
  - Prospects
  - Accounts
  - Notes
  - Mailboxes
  - Calls
  - CallDispositions
  - Tasks
  - EmailTemplates
  - Introspection