Amazon AppSync Functions API

Manage reusable pipeline resolver functions

GitHub OpenAPI

Operations 5

POST /v1/apis/{apiId}/functions Create Function #
GET /v1/apis/{apiId}/functions List Functions #
DELETE /v1/apis/{apiId}/functions/{functionId} Delete Function #
GET /v1/apis/{apiId}/functions/{functionId} Get Function #
POST /v1/apis/{apiId}/functions/{functionId} Update Function #

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/amazon-appsync:amazon-appsync-functions-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

amazon-appsync-functions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS AppSync Functions API
  version: '2017-07-25'
  description: Generated from AWS's published Smithy model for AWS AppSync. 5 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://appsync.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /v1/apis/{apiId}/functions:
    post:
      operationId: CreateFunction
      summary: Create Function
      description: Creates a Function object. A function is a reusable entity. You can use multiple functions to compose the
        resolver logic.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateFunctionResponse'
        '400':
          description: BadRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '409':
          description: ConcurrentModificationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConcurrentModificationException'
        '500':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '404':
          description: NotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFunctionRequest'
      tags:
      - Functions
    get:
      operationId: ListFunctions
      summary: List Functions
      description: List multiple functions.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListFunctionsResponse'
        '400':
          description: BadRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '500':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '404':
          description: NotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListFunctionsRequest'
      tags:
      - Functions
  /v1/apis/{apiId}/functions/{functionId}:
    delete:
      operationId: DeleteFunction
      summary: Delete Function
      description: Deletes a Function.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteFunctionResponse'
        '400':
          description: BadRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '409':
          description: ConcurrentModificationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConcurrentModificationException'
        '500':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '404':
          description: NotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteFunctionRequest'
      tags:
      - Functions
    get:
      operationId: GetFunction
      summary: Get Function
      description: Get a Function.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetFunctionResponse'
        '409':
          description: ConcurrentModificationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConcurrentModificationException'
        '404':
          description: NotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetFunctionRequest'
      tags:
      - Functions
    post:
      operationId: UpdateFunction
      summary: Update Function
      description: Updates a Function object.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateFunctionResponse'
        '400':
          description: BadRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '409':
          description: ConcurrentModificationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConcurrentModificationException'
        '500':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '404':
          description: NotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFunctionRequest'
      tags:
      - Functions
components:
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical
        request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: appsync
  schemas:
    AppSyncRuntime:
      type: object
      properties:
        name:
          type: string
          enum:
          - APPSYNC_JS
          description: The name of the runtime to use. Currently, the only allowed value is APPSYNC_JS.
        runtimeVersion:
          type: string
          description: The version of the runtime to use. Currently, the only allowed version is 1.0.0.
      required:
      - name
      - runtimeVersion
    BadRequestDetail:
      type: object
      properties:
        codeErrors:
          type: array
          items:
            $ref: '#/components/schemas/CodeError'
          description: Contains the list of errors in the request.
    BadRequestException:
      type: object
      properties:
        message:
          type: string
        reason:
          type: string
          enum:
          - CODE_ERROR
        detail:
          $ref: '#/components/schemas/BadRequestDetail'
    CodeError:
      type: object
      properties:
        errorType:
          type: string
          description: 'The type of code error. Examples include, but aren''t limited to: LINT_ERROR, PARSER_ERROR.'
        value:
          type: string
          description: 'A user presentable error. Examples include, but aren''t limited to: Parsing error: Unterminated string
            literal.'
        location:
          $ref: '#/components/schemas/CodeErrorLocation'
    CodeErrorLocation:
      type: object
      properties:
        line:
          type: integer
          description: The line number in the code. Defaults to 0 if unknown.
        column:
          type: integer
          description: The column number in the code. Defaults to 0 if unknown.
        span:
          type: integer
          description: The span/length of the error. Defaults to -1 if unknown.
    ConcurrentModificationException:
      type: object
      properties:
        message:
          type: string
    CreateFunctionRequest:
      type: object
      properties:
        apiId:
          type: string
          description: The GraphQL API ID.
        name:
          type: string
          description: The Function name. The function name does not have to be unique.
        description:
          type: string
          description: The Function description.
        dataSourceName:
          type: string
          description: The Function DataSource name.
        requestMappingTemplate:
          type: string
          description: The Function request mapping template. Functions support only the 2018-05-29 version of the request
            mapping template.
        responseMappingTemplate:
          type: string
          description: The Function response mapping template.
        functionVersion:
          type: string
          description: The version of the request mapping template. Currently, the supported value is 2018-05-29. Note that
            when using VTL and mapping templates, the functionVersion is required.
        syncConfig:
          $ref: '#/components/schemas/SyncConfig'
        maxBatchSize:
          type: integer
          description: The maximum batching size for a resolver.
        runtime:
          $ref: '#/components/schemas/AppSyncRuntime'
        code:
          type: string
          description: The function code that contains the request and response functions. When code is used, the runtime
            is required. The runtime value must be APPSYNC_JS.
      required:
      - apiId
      - name
      - dataSourceName
    CreateFunctionResponse:
      type: object
      properties:
        functionConfiguration:
          $ref: '#/components/schemas/FunctionConfiguration'
    DeleteFunctionRequest:
      type: object
      properties:
        apiId:
          type: string
          description: The GraphQL API ID.
        functionId:
          type: string
          description: The Function ID.
      required:
      - apiId
      - functionId
    DeleteFunctionResponse:
      type: object
      properties: {}
    FunctionConfiguration:
      type: object
      properties:
        functionId:
          type: string
          description: A unique ID representing the Function object.
        functionArn:
          type: string
          description: The Amazon Resource Name (ARN) of the Function object.
        name:
          type: string
          description: The name of the Function object.
        description:
          type: string
          description: The Function description.
        dataSourceName:
          type: string
          description: The name of the DataSource.
        requestMappingTemplate:
          type: string
          description: The Function request mapping template. Functions support only the 2018-05-29 version of the request
            mapping template.
        responseMappingTemplate:
          type: string
          description: The Function response mapping template.
        functionVersion:
          type: string
          description: The version of the request mapping template. Currently, only the 2018-05-29 version of the template
            is supported.
        syncConfig:
          $ref: '#/components/schemas/SyncConfig'
        maxBatchSize:
          type: integer
          description: The maximum batching size for a resolver.
        runtime:
          $ref: '#/components/schemas/AppSyncRuntime'
        code:
          type: string
          description: The function code that contains the request and response functions. When code is used, the runtime
            is required. The runtime value must be APPSYNC_JS.
    GetFunctionRequest:
      type: object
      properties:
        apiId:
          type: string
          description: The GraphQL API ID.
        functionId:
          type: string
          description: The Function ID.
      required:
      - apiId
      - functionId
    GetFunctionResponse:
      type: object
      properties:
        functionConfiguration:
          $ref: '#/components/schemas/FunctionConfiguration'
    InternalFailureException:
      type: object
      properties:
        message:
          type: string
    LambdaConflictHandlerConfig:
      type: object
      properties:
        lambdaConflictHandlerArn:
          type: string
          description: The Amazon Resource Name (ARN) for the Lambda function to use as the Conflict Handler.
    ListFunctionsRequest:
      type: object
      properties:
        apiId:
          type: string
          description: The GraphQL API ID.
        nextToken:
          type: string
          description: An identifier that was returned from the previous call to this operation, which you can use to return
            the next set of items in the list.
        maxResults:
          type: integer
          description: The maximum number of results that you want the request to return.
      required:
      - apiId
    ListFunctionsResponse:
      type: object
      properties:
        functions:
          type: array
          items:
            $ref: '#/components/schemas/FunctionConfiguration'
          description: A list of Function objects.
        nextToken:
          type: string
          description: An identifier that was returned from the previous call to this operation, which you can use to return
            the next set of items in the list.
    NotFoundException:
      type: object
      properties:
        message:
          type: string
    SyncConfig:
      type: object
      properties:
        conflictHandler:
          type: string
          enum:
          - OPTIMISTIC_CONCURRENCY
          - LAMBDA
          - AUTOMERGE
          - NONE
          description: 'The Conflict Resolution strategy to perform in the event of a conflict. OPTIMISTIC_CONCURRENCY: Resolve
            conflicts by rejecting mutations when versions don''t match the latest version at the server. AUTOMERGE: Resolve
            conflicts with the Automerge conflict resolution strategy. LAMBDA: Resolve conflicts with an Lambda function supplied
            in the LambdaConflictHandlerConfig.'
        conflictDetection:
          type: string
          enum:
          - VERSION
          - NONE
          description: 'The Conflict Detection strategy to use. VERSION: Detect conflicts based on object versions for this
            resolver. NONE: Do not detect conflicts when invoking this resolver.'
        lambdaConflictHandlerConfig:
          $ref: '#/components/schemas/LambdaConflictHandlerConfig'
    UnauthorizedException:
      type: object
      properties:
        message:
          type: string
    UpdateFunctionRequest:
      type: object
      properties:
        apiId:
          type: string
          description: The GraphQL API ID.
        name:
          type: string
          description: The Function name.
        description:
          type: string
          description: The Function description.
        functionId:
          type: string
          description: The function ID.
        dataSourceName:
          type: string
          description: The Function DataSource name.
        requestMappingTemplate:
          type: string
          description: The Function request mapping template. Functions support only the 2018-05-29 version of the request
            mapping template.
        responseMappingTemplate:
          type: string
          description: The Function request mapping template.
        functionVersion:
          type: string
          description: The version of the request mapping template. Currently, the supported value is 2018-05-29. Note that
            when using VTL and mapping templates, the functionVersion is required.
        syncConfig:
          $ref: '#/components/schemas/SyncConfig'
        maxBatchSize:
          type: integer
          description: The maximum batching size for a resolver.
        runtime:
          $ref: '#/components/schemas/AppSyncRuntime'
        code:
          type: string
          description: The function code that contains the request and response functions. When code is used, the runtime
            is required. The runtime value must be APPSYNC_JS.
      required:
      - apiId
      - name
      - functionId
      - dataSourceName
    UpdateFunctionResponse:
      type: object
      properties:
        functionConfiguration:
          $ref: '#/components/schemas/FunctionConfiguration'
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/appsync/service/2017-07-25/appsync-2017-07-25.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)