Oneprofile Assistant Prompt API

The messages a person keeps to send the assistant again: the ones the workspace saved and the ones that ship with the product, with save, rename, edit and delete.

GitHub OpenAPI

Operations 4

GET /assistant/prompts/ List the saved prompts #
POST /assistant/prompts/ Save a prompt #
DELETE /assistant/prompts/{prompt_id}/ Delete a saved prompt #
PATCH /assistant/prompts/{prompt_id}/ Rewrite a saved prompt #

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/getoneprofile-ai:getoneprofile-ai-assistant-prompt-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

getoneprofile-ai-assistant-prompt-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@getoneprofile.ai
    name: Oneprofile Support
  description: REST API reference for Oneprofile, the GTM data layer for your CRM. Manage tables, enrichments, and integrations. Authenticate with an API key to get started.
  termsOfService: https://www.getoneprofile.ai/terms
  title: Reference | Oneprofile Assistant Prompt API
  version: 1.0.42765316646
tags:
- description: 'The messages a person keeps to send the assistant again: the ones the workspace saved and the ones that ship with the product, with save, rename, edit and delete.'
  name: assistant-prompt
paths:
  /assistant/prompts/:
    get:
      description: Every prompt this workspace is offered, built-in ones first, then its own oldest first. A workspace saves a few dozen at most, so the whole list comes back in one page.
      operationId: list_assistant_prompts
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_AssistantPromptReadSchema_'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Invalid request made to the API.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Internal server error.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Bad gateway error.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Service unavailable.
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      summary: List the saved prompts
      tags:
      - assistant-prompt
    post:
      operationId: save_assistant_prompt
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssistantPromptCreateSchema'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssistantPromptReadSchema'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: The workspace has saved as many prompts as it may.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Internal server error.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Bad gateway error.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Service unavailable.
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      summary: Save a prompt
      tags:
      - assistant-prompt
  /assistant/prompts/{prompt_id}/:
    delete:
      operationId: delete_assistant_prompt
      parameters:
      - in: path
        name: prompt_id
        required: true
        schema:
          format: uuid
          title: Prompt Id
          type: string
      - description: Report what would be deleted, and delete nothing.
        in: query
        name: dry_run
        required: false
        schema:
          default: false
          description: Report what would be deleted, and delete nothing.
          title: Dry Run
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessfullyDeletedResponse'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: No such prompt.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Invalid request made to the API.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Internal server error.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Bad gateway error.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Service unavailable.
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      summary: Delete a saved prompt
      tags:
      - assistant-prompt
    patch:
      operationId: update_assistant_prompt
      parameters:
      - in: path
        name: prompt_id
        required: true
        schema:
          format: uuid
          title: Prompt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssistantPromptUpdateSchema'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssistantPromptReadSchema'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: No such prompt.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Invalid request made to the API.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Internal server error.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Bad gateway error.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Service unavailable.
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      summary: Rewrite a saved prompt
      tags:
      - assistant-prompt
components:
  schemas:
    ForbiddenResponse:
      properties:
        detail:
          description: The detail of why the request is forbidden.
          title: Detail
          type: string
      required:
      - detail
      title: ForbiddenResponse
      type: object
    AssistantPromptReadSchema:
      description: One prompt offered under the assistant's composer.
      properties:
        body:
          description: The message pressing the card puts in the composer.
          title: Body
          type: string
        built_in:
          description: Whether we wrote it. A built-in cannot be edited or deleted.
          title: Built In
          type: boolean
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Null for a built-in prompt, which is defined in our code rather than saved.
          title: Id
        key:
          description: 'Stable identifier for this card across both kinds: the built-in''s key, or the saved prompt''s id.'
          title: Key
          type: string
        title:
          description: What the card is called.
          title: Title
          type: string
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Updated At
      required:
      - key
      - title
      - body
      - built_in
      title: AssistantPromptReadSchema
      type: object
    UnprocessableEntityIssue:
      properties:
        input:
          anyOf:
          - type: string
          - type: integer
          - type: number
          - type: boolean
          - items: {}
            type: array
          - additionalProperties: true
            type: object
          description: The user's input that caused the error.
          title: Input
        loc:
          description: The location of the error. Always contains 1 or 2 elements. The first element is the type of location (e.g. 'body', 'query', 'path', 'header'). The second element is the name of the field that caused the error. If the error is not related to a specific field, the second element is not present.
          items:
            type: string
          title: Loc
          type: array
        msg:
          description: The message of the error. The error message to show to the user.
          title: Msg
          type: string
        type:
          description: The type of the error. Useful for frontend code to handle different types of errors.
          title: Type
          type: string
      required:
      - loc
      - msg
      - type
      - input
      title: UnprocessableEntityIssue
      type: object
    NotFoundResponse:
      properties:
        detail:
          description: The detail of why the resource was not found.
          title: Detail
          type: string
      required:
      - detail
      title: NotFoundResponse
      type: object
    AssistantPromptCreateSchema:
      description: Save one prompt for this workspace to use again.
      properties:
        body:
          description: The message the card will put in the composer.
          maxLength: 2000
          minLength: 1
          title: Body
          type: string
        title:
          anyOf:
          - maxLength: 60
            minLength: 1
            type: string
          - type: 'null'
          description: What to call the card. Left out, a name is taken from the prompt's own first sentence, which is what saving a message you already sent does.
          title: Title
      required:
      - body
      title: AssistantPromptCreateSchema
      type: object
    ServerErrorResponse:
      properties:
        detail:
          description: The detail of why the server returned an error.
          title: Detail
          type: string
      required:
      - detail
      title: ServerErrorResponse
      type: object
    AssistantPromptUpdateSchema:
      description: Rewrite one of this workspace's own prompts.
      properties:
        body:
          description: The message pressing the card puts in the composer.
          maxLength: 2000
          minLength: 1
          title: Body
          type: string
        title:
          description: What the card is called.
          maxLength: 60
          minLength: 1
          title: Title
          type: string
      required:
      - title
      - body
      title: AssistantPromptUpdateSchema
      type: object
    UnprocessableEntityResponse:
      properties:
        detail:
          description: The detail of the error. This is the error message to show to the user. You should also use the issues field to show more detailed error messages per field. Use this field for a single liner error message.
          title: Detail
          type: string
        issues:
          description: The issues that caused the error. There can be multiple issues. Each issue is a user-facing error message.
          items:
            $ref: '#/components/schemas/UnprocessableEntityIssue'
          title: Issues
          type: array
      required:
      - detail
      - issues
      title: UnprocessableEntityResponse
      type: object
    UnauthorizedResponse:
      properties:
        detail:
          description: The detail of why the request is unauthorized.
          title: Detail
          type: string
      required:
      - detail
      title: UnauthorizedResponse
      type: object
    PaginatedResponse_AssistantPromptReadSchema_:
      properties:
        data:
          description: The list of ResponseItems.
          items:
            $ref: '#/components/schemas/AssistantPromptReadSchema'
          title: Data
          type: array
        next_page_cursor:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor to the next page. If there are no more pages, this is None.
        previous_page_cursor:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor to the previous page. If there are no previous pages, this is None.
      title: PaginatedResponse[AssistantPromptReadSchema]
      type: object
    SuccessfullyDeletedResponse:
      properties:
        count:
          default: 1
          description: The number of resources that were deleted.
          title: Count
          type: integer
        detail:
          description: The detail of why the resource was deleted.
          title: Detail
          type: string
      required:
      - detail
      title: SuccessfullyDeletedResponse
      type: object
  securitySchemes:
    APIKeyHeader:
      in: header
      name: X-API-Key
      type: apiKey
    HTTPBearer:
      scheme: bearer
      type: http