ESRI ArcGIS · Capability
ESRI ArcGIS Platform API — Portal
ESRI ArcGIS Platform API — Portal. 5 operations. Lead operation: Get user profile. Self-contained Naftiko capability covering one Esri Arcgis business surface.
What You Can Do
GET
Getuser
— Get user profile
/v1/community/users/{username}
GET
Getitem
— Get portal item
/v1/content/items/{itemid}
GET
Getuseritems
— List user content items
/v1/content/users/{username}/items
GET
Getportalself
— Get portal information
/v1/portals/self
GET
Searchportal
— Search portal content
/v1/search
MCP Tools
get-user-profile
Get user profile
read-only
idempotent
get-portal-item
Get portal item
read-only
idempotent
list-user-content-items
List user content items
read-only
idempotent
get-portal-information
Get portal information
read-only
idempotent
search-portal-content
Search portal content
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: ESRI ArcGIS Platform API — Portal
description: 'ESRI ArcGIS Platform API — Portal. 5 operations. Lead operation: Get user profile. Self-contained Naftiko
capability covering one Esri Arcgis business surface.'
tags:
- Esri Arcgis
- Portal
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
ESRI_ARCGIS_API_KEY: ESRI_ARCGIS_API_KEY
capability:
consumes:
- type: http
namespace: platform-portal
baseUri: https://www.arcgis.com/sharing/rest
description: ESRI ArcGIS Platform API — Portal business capability. Self-contained, no shared references.
resources:
- name: community-users-username
path: /community/users/{username}
operations:
- name: getuser
method: GET
description: Get user profile
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: username
in: path
type: string
description: Username of the ArcGIS Online user
required: true
- name: f
in: query
type: string
- name: content-items-itemId
path: /content/items/{itemId}
operations:
- name: getitem
method: GET
description: Get portal item
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: itemId
in: path
type: string
description: Unique identifier of the portal item
required: true
- name: f
in: query
type: string
- name: content-users-username-items
path: /content/users/{username}/items
operations:
- name: getuseritems
method: GET
description: List user content items
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: username
in: path
type: string
required: true
- name: num
in: query
type: integer
description: Number of results to return
- name: start
in: query
type: integer
description: Index of the first entry in the result set (1-based)
- name: sortField
in: query
type: string
- name: sortOrder
in: query
type: string
- name: f
in: query
type: string
- name: portals-self
path: /portals/self
operations:
- name: getportalself
method: GET
description: Get portal information
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: f
in: query
type: string
description: Output format
- name: token
in: query
type: string
description: Authentication token (alternative to Authorization header)
- name: search
path: /search
operations:
- name: searchportal
method: GET
description: Search portal content
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: q
in: query
type: string
description: Query string using ArcGIS search syntax (e.g., "type:Feature Service owner:jsmith")
required: true
- name: num
in: query
type: integer
- name: start
in: query
type: integer
- name: sortField
in: query
type: string
- name: sortOrder
in: query
type: string
- name: f
in: query
type: string
authentication:
type: bearer
token: '{{env.ESRI_ARCGIS_API_KEY}}'
exposes:
- type: rest
namespace: platform-portal-rest
port: 8080
description: REST adapter for ESRI ArcGIS Platform API — Portal. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/community/users/{username}
name: community-users-username
description: REST surface for community-users-username.
operations:
- method: GET
name: getuser
description: Get user profile
call: platform-portal.getuser
with:
username: rest.username
f: rest.f
outputParameters:
- type: object
mapping: $.
- path: /v1/content/items/{itemid}
name: content-items-itemid
description: REST surface for content-items-itemId.
operations:
- method: GET
name: getitem
description: Get portal item
call: platform-portal.getitem
with:
itemId: rest.itemId
f: rest.f
outputParameters:
- type: object
mapping: $.
- path: /v1/content/users/{username}/items
name: content-users-username-items
description: REST surface for content-users-username-items.
operations:
- method: GET
name: getuseritems
description: List user content items
call: platform-portal.getuseritems
with:
username: rest.username
num: rest.num
start: rest.start
sortField: rest.sortField
sortOrder: rest.sortOrder
f: rest.f
outputParameters:
- type: object
mapping: $.
- path: /v1/portals/self
name: portals-self
description: REST surface for portals-self.
operations:
- method: GET
name: getportalself
description: Get portal information
call: platform-portal.getportalself
with:
f: rest.f
token: rest.token
outputParameters:
- type: object
mapping: $.
- path: /v1/search
name: search
description: REST surface for search.
operations:
- method: GET
name: searchportal
description: Search portal content
call: platform-portal.searchportal
with:
q: rest.q
num: rest.num
start: rest.start
sortField: rest.sortField
sortOrder: rest.sortOrder
f: rest.f
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: platform-portal-mcp
port: 9090
transport: http
description: MCP adapter for ESRI ArcGIS Platform API — Portal. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: get-user-profile
description: Get user profile
hints:
readOnly: true
destructive: false
idempotent: true
call: platform-portal.getuser
with:
username: tools.username
f: tools.f
outputParameters:
- type: object
mapping: $.
- name: get-portal-item
description: Get portal item
hints:
readOnly: true
destructive: false
idempotent: true
call: platform-portal.getitem
with:
itemId: tools.itemId
f: tools.f
outputParameters:
- type: object
mapping: $.
- name: list-user-content-items
description: List user content items
hints:
readOnly: true
destructive: false
idempotent: true
call: platform-portal.getuseritems
with:
username: tools.username
num: tools.num
start: tools.start
sortField: tools.sortField
sortOrder: tools.sortOrder
f: tools.f
outputParameters:
- type: object
mapping: $.
- name: get-portal-information
description: Get portal information
hints:
readOnly: true
destructive: false
idempotent: true
call: platform-portal.getportalself
with:
f: tools.f
token: tools.token
outputParameters:
- type: object
mapping: $.
- name: search-portal-content
description: Search portal content
hints:
readOnly: true
destructive: false
idempotent: true
call: platform-portal.searchportal
with:
q: tools.q
num: tools.num
start: tools.start
sortField: tools.sortField
sortOrder: tools.sortOrder
f: tools.f
outputParameters:
- type: object
mapping: $.