samva-dev Operations API

Status of accepted asynchronous mutations

Operations 3

GET /v1/operations List asynchronous operations #
GET /v1/operations/{id} Get an asynchronous operation #
POST /v1/operations/{id}/retry Retry an asynchronous operation #

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/samva-dev:samva-dev-operations-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

samva-dev-operations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Samva Operations API
  version: 1.0.0
  description: Samva is the email API for your app. Send transactional email in one typed call. Delivery events and customer replies come back as signed webhooks, and replies thread to the email they answer.
servers:
- url: https://api.samva.dev
security: []
tags:
- name: Operations
  description: Status of accepted asynchronous mutations
paths:
  /v1/operations:
    get:
      tags:
      - Operations
      operationId: operations.list
      parameters:
      - name: limit
        in: query
        schema:
          anyOf:
          - type: integer
            maximum: 100
            exclusiveMinimum: 0
            description: Items per page, at most 100.
          - type: 'null'
        required: false
      - name: cursor
        in: query
        schema:
          anyOf:
          - $ref: '#/components/schemas/Cursor'
          - type: 'null'
        required: false
      - name: kind
        in: query
        schema:
          anyOf:
          - type: string
            enum:
            - email-domain-provisioning
            - organization-deletion
          - type: 'null'
        required: false
      - name: status
        in: query
        schema:
          anyOf:
          - type: string
            enum:
            - pending
            - running
            - succeeded
            - failed
          - type: 'null'
        required: false
      security:
      - apiKey: []
      responses:
        '200':
          description: OperationPage
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationPage'
        '401':
          description: UnauthorizedError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: ForbiddenError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '422':
          description: ValidationError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: InternalError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalError'
        '504':
          description: GatewayTimeoutError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayTimeoutError'
      description: Lists asynchronous operations for the active organization, newest first. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page.
      summary: List asynchronous operations
      x-samva-scope: domains:read
  /v1/operations/{id}:
    get:
      tags:
      - Operations
      operationId: operations.get
      parameters:
      - name: id
        in: path
        schema:
          $ref: '#/components/schemas/OperationId'
        required: true
      security:
      - apiKey: []
      responses:
        '200':
          description: Operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
        '401':
          description: UnauthorizedError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: ForbiddenError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: ResourceNotFoundError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundError'
        '422':
          description: ValidationError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: InternalError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalError'
        '504':
          description: GatewayTimeoutError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayTimeoutError'
      description: Returns one asynchronous operation from the active organization.
      summary: Get an asynchronous operation
      x-samva-scope: domains:read
  /v1/operations/{id}/retry:
    post:
      tags:
      - Operations
      operationId: operations.retry
      parameters:
      - name: id
        in: path
        schema:
          $ref: '#/components/schemas/OperationId'
        required: true
      security:
      - apiKey: []
      responses:
        '202':
          description: OperationAccepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationAccepted'
        '401':
          description: UnauthorizedError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: ForbiddenError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: ResourceNotFoundError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundError'
        '409':
          description: ConflictError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictError'
        '422':
          description: ValidationError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: InternalError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalError'
        '504':
          description: GatewayTimeoutError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayTimeoutError'
      description: Retries a failed operation in place when its error is retryable. Retrying an organization deletion additionally requires `organization:delete`.
      summary: Retry an asynchronous operation
      x-samva-scope: domains:update
components:
  schemas:
    ValidationError:
      type: object
      properties:
        _tag:
          type: string
          enum:
          - ValidationError
        message:
          type: string
        fields:
          anyOf:
          - type: object
            additionalProperties:
              type: array
              items:
                type: string
          - type: 'null'
      required:
      - _tag
      - message
      additionalProperties: false
      x-category:
      - validation
      x-retryable: false
    OperationResource:
      type: object
      properties:
        type:
          type: string
          minLength: 1
          maxLength: 80
          x-samva-string-checks:
          - id: effect/schema/isMaxLength
            payload:
              maxLength: 80
        id:
          type: string
          minLength: 1
          maxLength: 255
          x-samva-string-checks:
          - id: effect/schema/isMaxLength
            payload:
              maxLength: 255
      required:
      - type
      - id
      additionalProperties: false
    ConflictError:
      type: object
      properties:
        _tag:
          type: string
          enum:
          - ConflictError
        message:
          type: string
        resource:
          type: string
        id:
          anyOf:
          - type: string
          - type: 'null'
      required:
      - _tag
      - message
      - resource
      additionalProperties: false
      x-category:
      - conflict
      x-retryable: false
    Cursor:
      type: string
    GatewayTimeoutError:
      type: object
      properties:
        _tag:
          type: string
          enum:
          - GatewayTimeoutError
        message:
          type: string
        retryAfterSeconds:
          type: number
      required:
      - _tag
      - message
      - retryAfterSeconds
      additionalProperties: false
      x-category:
      - transient
      x-retryable: true
    Operation:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/OperationId'
        organizationId:
          type: string
        kind:
          type: string
          enum:
          - email-domain-provisioning
          - organization-deletion
        subject:
          $ref: '#/components/schemas/OperationResource'
        actor:
          type: object
          properties:
            type:
              type: string
              enum:
              - user
              - api-key
              - system
            id:
              type: string
          required:
          - type
          - id
          additionalProperties: false
        status:
          type: string
          enum:
          - pending
          - running
          - succeeded
          - failed
        phase:
          type: string
          enum:
          - accepted
          - dispatching
          - provisioning
          - deleting
          - finalizing
          - completed
        error:
          anyOf:
          - type: object
            properties:
              code:
                type: string
                enum:
                - validation-failed
                - conflict
                - capacity-unavailable
                - rejected
                - unavailable
                - timed-out
                - internal
              message:
                type: string
                minLength: 1
                maxLength: 240
                x-samva-string-checks:
                - id: effect/schema/isMaxLength
                  payload:
                    maxLength: 240
            required:
            - code
            - message
            additionalProperties: false
          - type: 'null'
        createdAt:
          type: string
        updatedAt:
          type: string
        startedAt:
          anyOf:
          - type: string
          - type: 'null'
        completedAt:
          anyOf:
          - type: string
          - type: 'null'
      required:
      - id
      - organizationId
      - kind
      - subject
      - actor
      - status
      - phase
      - error
      - createdAt
      - updatedAt
      - startedAt
      - completedAt
      additionalProperties: false
    OperationPage:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Operation'
        nextCursor:
          anyOf:
          - type: string
          - type: 'null'
      required:
      - items
      - nextCursor
      additionalProperties: false
    OperationResourceLink:
      type: object
      properties:
        resource:
          $ref: '#/components/schemas/OperationResource'
        href:
          type: string
          pattern: ^\/v1\/
          maxLength: 500
          x-samva-string-checks:
          - id: effect/schema/isMaxLength
            payload:
              maxLength: 500
      required:
      - resource
      - href
      additionalProperties: false
    OperationAccepted:
      type: object
      properties:
        operation:
          $ref: '#/components/schemas/Operation'
        links:
          type: object
          properties:
            self:
              type: string
              pattern: ^\/v1\/
              maxLength: 500
              x-samva-string-checks:
              - id: effect/schema/isMaxLength
                payload:
                  maxLength: 500
            resource:
              $ref: '#/components/schemas/OperationResourceLink'
          required:
          - self
          - resource
          additionalProperties: false
      required:
      - operation
      - links
      additionalProperties: false
    UnauthorizedError:
      type: object
      properties:
        _tag:
          type: string
          enum:
          - UnauthorizedError
        message:
          type: string
      required:
      - _tag
      - message
      additionalProperties: false
      x-category:
      - auth
      x-retryable: false
    ForbiddenError:
      type: object
      properties:
        _tag:
          type: string
          enum:
          - ForbiddenError
        message:
          type: string
      required:
      - _tag
      - message
      additionalProperties: false
      x-category:
      - auth
      x-retryable: false
    OperationId:
      type: string
      pattern: ^op_[0-9a-hjkmnp-tv-z]{16,24}$
      x-samva-brand: OperationId
    InternalError:
      type: object
      properties:
        _tag:
          type: string
          enum:
          - InternalError
        message:
          type: string
      required:
      - _tag
      - message
      additionalProperties: false
      x-category:
      - transient
      x-retryable: true
    ResourceNotFoundError:
      type: object
      properties:
        _tag:
          type: string
          enum:
          - ResourceNotFoundError
        resource:
          type: string
        id:
          type: string
        message:
          type: string
      required:
      - _tag
      - resource
      - id
      - message
      additionalProperties: false
      x-category:
      - notFound
      x-retryable: false
  securitySchemes:
    apiKey:
      type: apiKey
      name: x-api-key
      in: header