Ampersand · Capability
Ampersand public API — Objects & Fields
Ampersand public API — Objects & Fields. 4 operations. Lead operation: Ampersand Upsert Custom Fields for Installation. Self-contained Naftiko capability covering one Ampersand business surface.
What You Can Do
PUT
Upsertmetadataforinstallation
— Ampersand Upsert Custom Fields for Installation
/v1/projects/{projectidorname}/integrations/{integrationid}/object-metadata
GET
Getobjectmetadataforinstallation
— Ampersand Get Object Metadata via Installation
/v1/projects/{projectidorname}/integrations/{integrationid}/objects/{objectname}/metadata
PUT
Upsertmetadataforconnection
— Ampersand Upsert Custom Fields for Connection
/v1/projects/{projectidorname}/providers/{provider}/object-metadata
GET
Getobjectmetadataforconnection
— Ampersand Get Object Metadata via Connection
/v1/projects/{projectidorname}/providers/{provider}/objects/{objectname}/metadata
MCP Tools
ampersand-upsert-custom-fields-installation
Ampersand Upsert Custom Fields for Installation
idempotent
ampersand-get-object-metadata-installation
Ampersand Get Object Metadata via Installation
read-only
idempotent
ampersand-upsert-custom-fields-connection
Ampersand Upsert Custom Fields for Connection
idempotent
ampersand-get-object-metadata-connection
Ampersand Get Object Metadata via Connection
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Ampersand public API — Objects & Fields
description: 'Ampersand public API — Objects & Fields. 4 operations. Lead operation: Ampersand Upsert Custom Fields for
Installation. Self-contained Naftiko capability covering one Ampersand business surface.'
tags:
- Ampersand
- Objects & Fields
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
AMPERSAND_API_KEY: AMPERSAND_API_KEY
capability:
consumes:
- type: http
namespace: ampersand-objects-fields
baseUri: https://api.withampersand.com/v1
description: Ampersand public API — Objects & Fields business capability. Self-contained, no shared references.
resources:
- name: projects-projectIdOrName-integrations-integrationId-object-metadata
path: /projects/{projectIdOrName}/integrations/{integrationId}/object-metadata
operations:
- name: upsertmetadataforinstallation
method: PUT
description: Ampersand Upsert Custom Fields for Installation
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: projectIdOrName
in: path
type: string
description: The Ampersand project ID or project name.
required: true
- name: integrationId
in: path
type: string
description: The integration ID.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: projects-projectIdOrName-integrations-integrationId-objects-objectName-metadata
path: /projects/{projectIdOrName}/integrations/{integrationId}/objects/{objectName}/metadata
operations:
- name: getobjectmetadataforinstallation
method: GET
description: Ampersand Get Object Metadata via Installation
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: projectIdOrName
in: path
type: string
description: The Ampersand project ID or project name.
required: true
- name: integrationId
in: path
type: string
description: The unique identifier of the integration.
required: true
- name: objectName
in: path
type: string
description: The name of the object to retrieve metadata for. You can use either the mapped name from your integration
config (e.g. `people`) or the native provider object n
required: true
- name: groupRef
in: query
type: string
description: The ID of the user group that has access to this installation.
required: true
- name: excludeReadOnly
in: query
type: boolean
description: Excludes fields where `ReadOnly` is `true` from the response.
- name: projects-projectIdOrName-providers-provider-object-metadata
path: /projects/{projectIdOrName}/providers/{provider}/object-metadata
operations:
- name: upsertmetadataforconnection
method: PUT
description: Ampersand Upsert Custom Fields for Connection
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: projectIdOrName
in: path
type: string
description: The Ampersand project ID or project name.
required: true
- name: provider
in: path
type: string
description: The provider that this connection connects to.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: projects-projectIdOrName-providers-provider-objects-objectName-metadata
path: /projects/{projectIdOrName}/providers/{provider}/objects/{objectName}/metadata
operations:
- name: getobjectmetadataforconnection
method: GET
description: Ampersand Get Object Metadata via Connection
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: projectIdOrName
in: path
type: string
description: The Ampersand project ID or project name.
required: true
- name: provider
in: path
type: string
description: The provider name (e.g. `salesforce`, `hubspot`).
required: true
- name: objectName
in: path
type: string
description: The native provider object name to retrieve metadata for.
required: true
- name: groupRef
in: query
type: string
description: The ID of the user group whose connection should be used to fetch the metadata.
required: true
- name: excludeReadOnly
in: query
type: boolean
description: Excludes fields where `ReadOnly` is `true` from the response.
authentication:
type: bearer
token: '{{env.AMPERSAND_API_KEY}}'
exposes:
- type: rest
namespace: ampersand-objects-fields-rest
port: 8080
description: REST adapter for Ampersand public API — Objects & Fields. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/projects/{projectidorname}/integrations/{integrationid}/object-metadata
name: projects-projectidorname-integrations-integrationid-object-metadata
description: REST surface for projects-projectIdOrName-integrations-integrationId-object-metadata.
operations:
- method: PUT
name: upsertmetadataforinstallation
description: Ampersand Upsert Custom Fields for Installation
call: ampersand-objects-fields.upsertmetadataforinstallation
with:
projectIdOrName: rest.projectIdOrName
integrationId: rest.integrationId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/projects/{projectidorname}/integrations/{integrationid}/objects/{objectname}/metadata
name: projects-projectidorname-integrations-integrationid-objects-objectname-metadata
description: REST surface for projects-projectIdOrName-integrations-integrationId-objects-objectName-metadata.
operations:
- method: GET
name: getobjectmetadataforinstallation
description: Ampersand Get Object Metadata via Installation
call: ampersand-objects-fields.getobjectmetadataforinstallation
with:
projectIdOrName: rest.projectIdOrName
integrationId: rest.integrationId
objectName: rest.objectName
groupRef: rest.groupRef
excludeReadOnly: rest.excludeReadOnly
outputParameters:
- type: object
mapping: $.
- path: /v1/projects/{projectidorname}/providers/{provider}/object-metadata
name: projects-projectidorname-providers-provider-object-metadata
description: REST surface for projects-projectIdOrName-providers-provider-object-metadata.
operations:
- method: PUT
name: upsertmetadataforconnection
description: Ampersand Upsert Custom Fields for Connection
call: ampersand-objects-fields.upsertmetadataforconnection
with:
projectIdOrName: rest.projectIdOrName
provider: rest.provider
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/projects/{projectidorname}/providers/{provider}/objects/{objectname}/metadata
name: projects-projectidorname-providers-provider-objects-objectname-metadata
description: REST surface for projects-projectIdOrName-providers-provider-objects-objectName-metadata.
operations:
- method: GET
name: getobjectmetadataforconnection
description: Ampersand Get Object Metadata via Connection
call: ampersand-objects-fields.getobjectmetadataforconnection
with:
projectIdOrName: rest.projectIdOrName
provider: rest.provider
objectName: rest.objectName
groupRef: rest.groupRef
excludeReadOnly: rest.excludeReadOnly
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: ampersand-objects-fields-mcp
port: 9090
transport: http
description: MCP adapter for Ampersand public API — Objects & Fields. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: ampersand-upsert-custom-fields-installation
description: Ampersand Upsert Custom Fields for Installation
hints:
readOnly: false
destructive: false
idempotent: true
call: ampersand-objects-fields.upsertmetadataforinstallation
with:
projectIdOrName: tools.projectIdOrName
integrationId: tools.integrationId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: ampersand-get-object-metadata-installation
description: Ampersand Get Object Metadata via Installation
hints:
readOnly: true
destructive: false
idempotent: true
call: ampersand-objects-fields.getobjectmetadataforinstallation
with:
projectIdOrName: tools.projectIdOrName
integrationId: tools.integrationId
objectName: tools.objectName
groupRef: tools.groupRef
excludeReadOnly: tools.excludeReadOnly
outputParameters:
- type: object
mapping: $.
- name: ampersand-upsert-custom-fields-connection
description: Ampersand Upsert Custom Fields for Connection
hints:
readOnly: false
destructive: false
idempotent: true
call: ampersand-objects-fields.upsertmetadataforconnection
with:
projectIdOrName: tools.projectIdOrName
provider: tools.provider
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: ampersand-get-object-metadata-connection
description: Ampersand Get Object Metadata via Connection
hints:
readOnly: true
destructive: false
idempotent: true
call: ampersand-objects-fields.getobjectmetadataforconnection
with:
projectIdOrName: tools.projectIdOrName
provider: tools.provider
objectName: tools.objectName
groupRef: tools.groupRef
excludeReadOnly: tools.excludeReadOnly
outputParameters:
- type: object
mapping: $.