Nile Developers API

The developers API from Nile — 6 operation(s) for developers.

Operations 7

GET /workspaces/{workspaceSlug}/invites List developer invites #
POST /workspaces/{workspaceSlug}/invites Invite a developer to a workspace #
DELETE /workspaces/{workspaceSlug}/invites/{inviteId} Deletes a previously issued invite #
POST /workspaces/{workspaceSlug}/invites/{inviteId}/resend Resend an existing workspace invitation #
GET /developers/me Identify developer details #
GET /workspaces/{workspaceSlug}/developers List developers with access to a workspace #
DELETE /workspaces/{workspaceSlug}/developers/{developerId} Remove a developer from a workspace #

Specifications

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-apierror-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-create-database-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-get-database-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-dedicated-compute-instance-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-unauthenticated-provision-database-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-workspace-usage-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-oidcprovider-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-user-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-tenant-ssoregistration-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-logical-database-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-oidcrelying-party-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-create-basic-user-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-mfa-setup-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-mfa-disable-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-tenant-user-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-mfa-verify-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/thenile/json-schema/thenile-mfa-verify-response-schema.json

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/thenile:thenile-developers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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.

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

OpenAPI Specification

thenile-developers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Thenile Developers API
  version: 0.1.0-72f73d7
  contact:
    email: support@thenile.dev
  description: 'Operations tagged developers across 2 of this provider''s published API definitions: global-openapi.json, thenile-global-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://global.thenile.dev
tags:
- name: Developers
paths:
  /workspaces/{workspaceSlug}/invites:
    get:
      tags:
      - Developers
      summary: List developer invites
      description: Lists all developer invites in a workspace
      operationId: listDeveloperInvites
      parameters:
      - name: workspaceSlug
        in: path
        required: true
        schema:
          type: string
      - name: verificationState
        in: query
        description: Comma-separated email verification states
        explode: false
        schema:
          type: array
          items:
            type: string
            enum:
            - EMAIL_PENDING
            - EMAIL_SENT
            - VERIFIED
            - EXPIRED
      responses:
        '200':
          description: List of invites
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeveloperInvite'
        '401':
          description: Unauthorized. Credentials were missing or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: Forbidden. The credentials provided do not grant access to the requested resource(s).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      security:
      - jwtBearerAuth: []
    post:
      tags:
      - Developers
      summary: Invite a developer to a workspace
      description: 'Sends an email to another developer with a link that allows them to join the

        workspace.'
      operationId: createDeveloperInvite
      parameters:
      - name: workspaceSlug
        in: path
        required: true
        schema:
          type: string
      - name: redirect_host
        in: query
        schema:
          type: string
      requestBody:
        description: Contact information for the invitee
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInviteRequest'
        required: true
      responses:
        '201':
          description: Invite created successfully. An email will be sent.
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/DeveloperInvite'
                - $ref: '#/components/schemas/DeveloperInviteWithCode'
        '202':
          description: The invite is pending email delivery.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '401':
          description: Unauthorized. Credentials were missing or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: Forbidden. The credentials provided do not grant access to the requested resource(s).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      security:
      - jwtBearerAuth: []
    servers:
    - url: https://global.thenile.dev
  /workspaces/{workspaceSlug}/invites/{inviteId}:
    delete:
      tags:
      - Developers
      summary: Deletes a previously issued invite
      operationId: deleteDeveloperInvite
      parameters:
      - name: workspaceSlug
        in: path
        required: true
        schema:
          type: string
      - name: inviteId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Invite deleted
        '401':
          description: Unauthorized. Credentials were missing or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: Forbidden. The credentials provided do not grant access to the requested resource(s).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '404':
          description: Invite not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      security:
      - jwtBearerAuth: []
    servers:
    - url: https://global.thenile.dev
  /workspaces/{workspaceSlug}/invites/{inviteId}/resend:
    post:
      tags:
      - Developers
      summary: Resend an existing workspace invitation
      description: Resends the same invitation code without replacing or revoking it. Delivery failure keeps the prior invitation unchanged.
      operationId: resendDeveloperInvite
      parameters:
      - name: workspaceSlug
        in: path
        required: true
        schema:
          type: string
      - name: inviteId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Invitation email accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeveloperInvite'
        '401':
          description: Unauthorized. Credentials were missing or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: Forbidden. The credentials provided do not grant access to the requested resource(s).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '404':
          description: Invitation absent or revoked in this workspace
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '409':
          description: Invitation accepted, expired or being processed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '502':
          description: Email delivery could not be confirmed; prior invitation kept
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      security:
      - jwtBearerAuth: []
    servers:
    - url: https://global.thenile.dev
  /developers/me:
    get:
      tags:
      - Developers
      summary: Identify developer details
      description: 'Returns information about the developer associated with the token provided,

        including the workspaces and database ids the developer is authorized to access,

        and the email address associated with the developer.'
      operationId: identifyDeveloper
      responses:
        '200':
          description: Developer found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Developer'
        '401':
          description: Unauthorized. Credentials were missing or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: Forbidden. The credentials provided do not grant access to the requested resource(s).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '404':
          description: Developer not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      security:
      - jwtBearerAuth: []
    servers:
    - url: https://global.thenile.dev
  /workspaces/{workspaceSlug}/developers:
    get:
      tags:
      - Developers
      summary: List developers with access to a workspace
      description: List details about the developers authorized to access the workspace.
      operationId: listWorkspaceDevelopers
      parameters:
      - name: workspaceSlug
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A list of Developer objects.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Developer'
        '401':
          description: Unauthorized. Credentials were missing or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: Forbidden. The credentials provided do not grant access to the requested resource(s).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '404':
          description: Workspace not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      security:
      - jwtBearerAuth: []
    servers:
    - url: https://global.thenile.dev
  /workspaces/{workspaceSlug}/developers/{developerId}:
    delete:
      tags:
      - Developers
      summary: Remove a developer from a workspace
      description: Removes a developer from the workspace.
      operationId: removeDeveloper
      parameters:
      - name: workspaceSlug
        in: path
        required: true
        schema:
          type: string
      - name: developerId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Developer removed
        '401':
          description: Unauthorized. Credentials were missing or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: Forbidden. The credentials provided do not grant access to the requested resource(s).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '404':
          description: Workspace or developer not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      security:
      - jwtBearerAuth: []
    servers:
    - url: https://global.thenile.dev
components:
  schemas:
    Workspace:
      required:
      - name
      - slug
      type: object
      properties:
        id:
          type: string
        name:
          minLength: 1
          type: string
        slug:
          minLength: 1
          type: string
        stripe_customer_id:
          type: string
        created:
          type: string
          format: date-time
    CreateInviteRequest:
      required:
      - email
      type: object
      properties:
        email:
          minLength: 1
          type: string
          description: The invitee's email address
          format: email
        programmatic:
          type: boolean
          description: If true, the response will include the invite code.
      description: 'Parameters for creating an invitation for a developer to join a workspace.

        '
    APIError:
      required:
      - errorCode
      - message
      - statusCode
      type: object
      properties:
        errorCode:
          type: string
          enum:
          - internal_error
          - bad_request
          - unsupported_operation
          - forbidden_operation
          - entity_not_found
          - duplicate_entity
          - invalid_credentials
          - unknown_oidc_provider
          - unknown_oidc_party
          - provider_already_exists
          - provider_config_error
          - provider_mismatch
          - provider_update_error
          - provider_disabled
          - session_state_missing
          - session_state_mismatch
          - oidc_code_missing
          - tenant_not_found
          - constraint_violation
          - sql_exception
          - db_creation_failure
          - db_rename_failure
          - db_status_failure
          - db_initialization_failure
          - db_deletion_failure
          - db_config_missing
          - unauthorized_workspace_access
          - email_send_failure
          - jdbc_exception
          - oidc_exception
          - region_mismatch
          - credential_creation_failure
          - credential_propagation_failure
          - unauthorized_client
          - unsupported_response_type
          - invalid_request
          - server_error
          - access_denied
          - feature_ineligible
          - customer_lookup_failure
          - threshold_exceeded
          - create_rejected
        message:
          minLength: 1
          type: string
        statusCode:
          type: integer
          format: int32
    DeveloperInvite:
      required:
      - email
      - id
      - sender
      - verificationState
      - workspace
      type: object
      properties:
        id:
          type: string
        sender:
          $ref: '#/components/schemas/Developer'
        email:
          type: string
        workspace:
          $ref: '#/components/schemas/Workspace'
        verificationState:
          type: string
          enum:
          - EMAIL_PENDING
          - EMAIL_SENT
          - VERIFIED
          - EXPIRED
        created:
          type: string
          format: date-time
        updated:
          type: string
          format: date-time
    DeveloperInviteWithCode:
      type: object
      properties:
        id:
          type: string
        sender:
          $ref: '#/components/schemas/Developer'
        email:
          type: string
        workspace:
          $ref: '#/components/schemas/Workspace'
        verificationState:
          type: string
          enum:
          - EMAIL_PENDING
          - EMAIL_SENT
          - VERIFIED
          - EXPIRED
        created:
          type: string
          format: date-time
        updated:
          type: string
          format: date-time
        code:
          type: string
      description: An invite for a developer to workspace with invite code
    Developer:
      type: object
      properties:
        id:
          type: string
        email:
          type: string
        workspaces:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/Workspace'
        databases:
          uniqueItems: true
          type: array
          items:
            type: string
        kind:
          type: string
          enum:
          - HUMAN
          - API
  securitySchemes:
    jwtBearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-refined-from:
- global-openapi.json
- thenile-global-openapi.yml
x-provenance:
  method: harvested
  publisher: Nile
  source: https://global.thenile.dev/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)