Nash Templates API

Templates

Operations 1

POST /v1/templates/upsert Upsert multiple templates #

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/nash-templates-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 email required.

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

OpenAPI Specification

nash-templates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Nash AI Functions Templates API
  version: 1.0.0
  description: LLM-backed domain tools
servers:
- url: https://api.sandbox.usenash.com
  description: Sandbox API
- url: https://api.sandbox.ap-southeast-2.usenash.com
  description: Sandbox API (Australia)
- url: https://api.usenash.com
  description: Production API
- url: https://api.ap-southeast-2.usenash.com
  description: Production API (Australia)
tags:
- name: Templates
  description: Templates
  x-nash-topic: config
paths:
  /v1/templates/upsert:
    post:
      tags:
      - Templates
      summary: Upsert multiple templates
      description: Create or update multiple notification templates in a single request. Templates define the content and format of notifications sent for delivery events.
      operationId: upsert_templates_v1_templates_upsert_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTemplatesInputSerializer'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplatesResponse'
        '422':
          description: Unprocessable Content
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NashValidationError'
components:
  schemas:
    CreateTemplateInputSerializer:
      title: CreateTemplateInputSerializer
      required:
      - type
      type: object
      properties:
        type:
          title: Type
          type: string
          description: Template type (e.g., DELIVERY_WINDOW)
          example: DELIVERY_WINDOW
        deliveryWindowTemplatePayload:
          title: Deliverywindowtemplatepayload
          anyOf:
          - type: object
            additionalProperties: true
          - type: 'null'
          description: Required for DELIVERY_WINDOW templates
          default: null
          example:
            key: value
        shiftTemplatePayload:
          title: Shifttemplatepayload
          anyOf:
          - type: object
            additionalProperties: true
          - type: 'null'
          description: Required for SHIFT templates
          default: null
          example:
            key: value
        externalId:
          title: Externalid
          anyOf:
          - type: string
          - type: 'null'
          description: External identifier for the template
          default: null
          example: ext_01234567890123456789
        name:
          title: Name
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the template.
          default: null
          example: Monday Delivery Window
        startDatetime:
          title: Startdatetime
          anyOf:
          - pattern: (\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}).?(\d)*Z?
            type: string
          - type: 'null'
          description: The start datetime of the template.
          default: null
          example: '2024-01-01T12:00:00'
        endDatetime:
          title: Enddatetime
          anyOf:
          - pattern: (\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}).?(\d)*Z?
            type: string
          - type: 'null'
          description: The end datetime of the template.
          default: null
          example: '2024-01-01T12:00:00'
        daysOfWeek:
          title: Daysofweek
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Days of the week for template usage
          default: null
          example:
          - MONDAY
          - TUESDAY
        generationFrequencyValue:
          title: Generationfrequencyvalue
          anyOf:
          - type: integer
          - type: 'null'
          description: How often to create instances (value)
          default: null
          example: 1
        generationFrequencyUnit:
          title: Generationfrequencyunit
          anyOf:
          - type: string
          - type: 'null'
          description: How often to create instances (unit)
          default: null
          example: DAY
        createInstancesUpToValue:
          title: Createinstancesuptovalue
          anyOf:
          - type: integer
          - type: 'null'
          description: How far into the future to create instances (value)
          default: null
          example: 1
        createInstancesUpToUnit:
          title: Createinstancesuptounit
          anyOf:
          - type: string
          - type: 'null'
          description: How far into the future to create instances (unit)
          default: null
          example: DAY
        overrideExistingInstances:
          title: Overrideexistinginstances
          anyOf:
          - type: boolean
          - type: 'null'
          description: Whether to overwrite existing instances
          default: null
          example: true
      description: Expected payload for creating a template.
    NashValidationError:
      title: NashValidationError
      required:
      - error
      - response_status
      - RequestID
      type: object
      properties:
        error:
          $ref: '#/components/schemas/NashErrorDetails'
        response_status:
          title: Response Status
          type: string
        RequestID:
          title: Requestid
          type: string
    NashErrorDetails:
      title: NashErrorDetails
      required:
      - code
      - message
      type: object
      properties:
        code:
          title: Code
          type: string
        message:
          title: Message
          type: string
        details:
          title: Details
          anyOf:
          - type: object
            additionalProperties: true
          - type: 'null'
          default: null
    TemplateOutput:
      title: TemplateOutput
      required:
      - id
      - type
      - payload
      - externalId
      - name
      - startDatetime
      - endDatetime
      - daysOfWeek
      - generationFrequencyValue
      - generationFrequencyUnit
      - createInstancesUpToValue
      - createInstancesUpToUnit
      - overrideExistingInstances
      type: object
      properties:
        id:
          title: Id
          type: string
          description: The ID of the template.
          example: tpl_01234567890123456789
        type:
          title: Type
          type: string
          description: Template type (e.g., DELIVERY_WINDOW)
          example: DELIVERY_WINDOW
        payload:
          title: Payload
          type: object
          additionalProperties: true
          description: Required for templates
        externalId:
          title: Externalid
          type: string
          description: External identifier for the template
        name:
          title: Name
          type: string
          description: Name of the template
        startDatetime:
          title: Startdatetime
          type: string
          description: The start datetime of the template.
          example: '2024-01-01T12:00:00'
        endDatetime:
          title: Enddatetime
          type: string
          description: The end datetime of the template.
          example: '2024-01-01T12:00:00'
        daysOfWeek:
          title: Daysofweek
          type: array
          items:
            type: string
          description: Days of the week for template usage
          example:
          - MONDAY
          - TUESDAY
        generationFrequencyValue:
          title: Generationfrequencyvalue
          type: integer
          description: How often to create instances (value)
          example: 1
        generationFrequencyUnit:
          title: Generationfrequencyunit
          type: string
          description: How often to create instances (unit)
          example: DAY
        createInstancesUpToValue:
          title: Createinstancesuptovalue
          type: integer
          description: How far into the future to create instances (value)
          example: 1
        createInstancesUpToUnit:
          title: Createinstancesuptounit
          type: string
          description: How far into the future to create instances (unit)
          example: DAY
        overrideExistingInstances:
          title: Overrideexistinginstances
          type: boolean
          description: Whether to overwrite existing instances
          example: true
      description: Response for a delivery window.
    TemplatesResponse:
      title: TemplatesResponse
      required:
      - templates
      type: object
      properties:
        templates:
          title: Templates
          type: array
          items:
            $ref: '#/components/schemas/TemplateOutput'
      description: Response for a list of templates.
    CreateTemplatesInputSerializer:
      title: CreateTemplatesInputSerializer
      required:
      - templates
      type: object
      properties:
        templates:
          title: Templates
          type: array
          items:
            $ref: '#/components/schemas/CreateTemplateInputSerializer'
      description: Expected payload for creating multiple templates.
  securitySchemes:
    Token:
      type: http
      scheme: bearer
      bearerFormat: JWT, API Key