MobileAPI.dev · Arazzo Workflow

MobileAPI Browse Devices by Type and Year

Version 1.0.0

List devices of a given type, then narrow to a launch year, branching when a slice is empty.

1 workflow 1 source API 1 provider
View Spec View on GitHub Data APIDeveloper ToolsDevice SpecificationsMobile DataPhone SpecsREST APISoftware-as-a-ServiceArazzoWorkflows

Provider

mobileapi-dev

Workflows

browse-by-type-and-year
List devices by type, then by launch year, branching on empty 204 slices.
Lists devices of the requested type, then lists devices for the requested launch year. When the year slice returns 204 (no matches) the workflow ends on the empty branch; otherwise it surfaces the first matching device.
3 steps inputs: apiKey, page, type, year outputs: firstTypeDeviceId, firstYearDeviceId, firstYearDeviceName
1
listByType
List the first page of devices of the requested type. A 204 here would mean no devices exist for the type; a 200 returns the paginated slice.
2
listByYear
List devices launched in the requested year. The endpoint returns 200 with a slice when matches exist and 204 when the year has no devices.
3
surfaceMatch
Re-read the first page of the year slice to surface the first matching device for the requested type and year combination.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: MobileAPI Browse Devices by Type and Year
  summary: List devices of a given type, then narrow to a launch year, branching when a slice is empty.
  description: >-
    Supports faceted browsing of the catalog. The workflow lists devices of a
    requested type (phone, tablet, laptop, wearable, or other), then narrows to
    a specific launch year. Both endpoints return 204 when a facet has no
    matches, so the flow branches explicitly: an empty year slice ends the
    workflow gracefully rather than treating the empty response as a match.
    Every step spells out its request inline so the flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: devicesApi
  url: ../openapi/mobileapi-dev-devices-api-openapi.yml
  type: openapi
workflows:
- workflowId: browse-by-type-and-year
  summary: List devices by type, then by launch year, branching on empty 204 slices.
  description: >-
    Lists devices of the requested type, then lists devices for the requested
    launch year. When the year slice returns 204 (no matches) the workflow ends
    on the empty branch; otherwise it surfaces the first matching device.
  inputs:
    type: object
    required:
    - apiKey
    - type
    - year
    properties:
      apiKey:
        type: string
        description: MobileAPI key, sent in the Authorization header as 'Token <apiKey>'.
      type:
        type: string
        description: Device type facet to browse.
        enum:
        - phone
        - tablet
        - laptop
        - wearable
        - other
      year:
        type: integer
        description: Four-digit launch year to narrow to (e.g. 2023).
      page:
        type: integer
        description: Page number for both listings (default 1, 50 per page).
  steps:
  - stepId: listByType
    description: >-
      List the first page of devices of the requested type. A 204 here would
      mean no devices exist for the type; a 200 returns the paginated slice.
    operationId: devices_by_type
    parameters:
    - name: type
      in: query
      value: $inputs.type
    - name: page
      in: query
      value: $inputs.page
    - name: Authorization
      in: header
      value: "Token $inputs.apiKey"
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstTypeDeviceId: $response.body#/0/id
  - stepId: listByYear
    description: >-
      List devices launched in the requested year. The endpoint returns 200
      with a slice when matches exist and 204 when the year has no devices.
    operationId: devices_by_year
    parameters:
    - name: year
      in: query
      value: $inputs.year
    - name: page
      in: query
      value: $inputs.page
    - name: Authorization
      in: header
      value: "Token $inputs.apiKey"
    successCriteria:
    - condition: $statusCode == 200 || $statusCode == 204
    onSuccess:
    - name: yearHasDevices
      type: goto
      stepId: surfaceMatch
      criteria:
      - condition: $statusCode == 200
    - name: yearIsEmpty
      type: end
      criteria:
      - condition: $statusCode == 204
  - stepId: surfaceMatch
    description: >-
      Re-read the first page of the year slice to surface the first matching
      device for the requested type and year combination.
    operationId: devices_by_year
    parameters:
    - name: year
      in: query
      value: $inputs.year
    - name: page
      in: query
      value: $inputs.page
    - name: Authorization
      in: header
      value: "Token $inputs.apiKey"
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstYearDeviceId: $response.body#/0/id
      firstYearDeviceName: $response.body#/0/name
  outputs:
    firstTypeDeviceId: $steps.listByType.outputs.firstTypeDeviceId
    firstYearDeviceId: $steps.surfaceMatch.outputs.firstYearDeviceId
    firstYearDeviceName: $steps.surfaceMatch.outputs.firstYearDeviceName

Work with this as data

Every workflow 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 arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • 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 workflow
curl "https://apis.io/api/v1/arazzo/mobileapi-dev-browse-type-year-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?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.