naftiko: 1.0.0-alpha2 info: label: "Ashby \u2014 Locations" description: Ashby Locations capability. CRUD and hierarchical address management for the locations referenced by jobs, openings, and postings. tags: - Ashby - Recruiting - ATS - Locations created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: ASHBY_API_KEY: ASHBY_API_KEY capability: consumes: - type: http namespace: organization-locations baseUri: https://api.ashbyhq.com description: Ashby Locations capability. CRUD and hierarchical address management for the locations referenced by jobs, openings, and postings. Backed by the Ashby public REST API. resources: - name: location-list path: /location.list operations: - name: location-list method: POST description: List locations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). See https://developers.ashbyhq.com/reference for the schema of each operation. required: false headers: - name: Accept value: application/json; version=1 - name: Content-Type value: application/json - name: location-info path: /location.info operations: - name: location-info method: POST description: Get location info outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). See https://developers.ashbyhq.com/reference for the schema of each operation. required: false headers: - name: Accept value: application/json; version=1 - name: Content-Type value: application/json - name: location-create path: /location.create operations: - name: location-create method: POST description: Create a location outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). See https://developers.ashbyhq.com/reference for the schema of each operation. required: false headers: - name: Accept value: application/json; version=1 - name: Content-Type value: application/json - name: location-update-name path: /location.updateName operations: - name: location-update-name method: POST description: Update a location's name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). See https://developers.ashbyhq.com/reference for the schema of each operation. required: false headers: - name: Accept value: application/json; version=1 - name: Content-Type value: application/json - name: location-update-address path: /location.updateAddress operations: - name: location-update-address method: POST description: Update a location's address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). See https://developers.ashbyhq.com/reference for the schema of each operation. required: false headers: - name: Accept value: application/json; version=1 - name: Content-Type value: application/json - name: location-update-external-name path: /location.updateExternalName operations: - name: location-update-external-name method: POST description: Update a location's external (careers-page) name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). See https://developers.ashbyhq.com/reference for the schema of each operation. required: false headers: - name: Accept value: application/json; version=1 - name: Content-Type value: application/json - name: location-update-workplace-type path: /location.updateWorkplaceType operations: - name: location-update-workplace-type method: POST description: Update a location's workplace type outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). See https://developers.ashbyhq.com/reference for the schema of each operation. required: false headers: - name: Accept value: application/json; version=1 - name: Content-Type value: application/json - name: location-move path: /location.move operations: - name: location-move method: POST description: Move a location in the hierarchy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). See https://developers.ashbyhq.com/reference for the schema of each operation. required: false headers: - name: Accept value: application/json; version=1 - name: Content-Type value: application/json - name: location-archive path: /location.archive operations: - name: location-archive method: POST description: Archive a location outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). See https://developers.ashbyhq.com/reference for the schema of each operation. required: false headers: - name: Accept value: application/json; version=1 - name: Content-Type value: application/json - name: location-restore path: /location.restore operations: - name: location-restore method: POST description: Restore a location outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). See https://developers.ashbyhq.com/reference for the schema of each operation. required: false headers: - name: Accept value: application/json; version=1 - name: Content-Type value: application/json authentication: type: basic username: '{{env.ASHBY_API_KEY}}' password: '' description: 'HTTP Basic Auth: Ashby API key as username, blank password.' exposes: - type: rest namespace: organization-locations-rest port: 8080 description: "REST adapter for Ashby \u2014 Locations. One Spectral-compliant resource per consumed operation, prefixed with /v1." resources: - path: /v1/location.list name: location-list description: REST surface for location-list. operations: - method: POST name: location-list description: List locations call: organization-locations.location-list with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/location.info name: location-info description: REST surface for location-info. operations: - method: POST name: location-info description: Get location info call: organization-locations.location-info with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/location.create name: location-create description: REST surface for location-create. operations: - method: POST name: location-create description: Create a location call: organization-locations.location-create with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/location.updateName name: location-update-name description: REST surface for location-update-name. operations: - method: POST name: location-update-name description: Update a location's name call: organization-locations.location-update-name with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/location.updateAddress name: location-update-address description: REST surface for location-update-address. operations: - method: POST name: location-update-address description: Update a location's address call: organization-locations.location-update-address with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/location.updateExternalName name: location-update-external-name description: REST surface for location-update-external-name. operations: - method: POST name: location-update-external-name description: Update a location's external (careers-page) name call: organization-locations.location-update-external-name with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/location.updateWorkplaceType name: location-update-workplace-type description: REST surface for location-update-workplace-type. operations: - method: POST name: location-update-workplace-type description: Update a location's workplace type call: organization-locations.location-update-workplace-type with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/location.move name: location-move description: REST surface for location-move. operations: - method: POST name: location-move description: Move a location in the hierarchy call: organization-locations.location-move with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/location.archive name: location-archive description: REST surface for location-archive. operations: - method: POST name: location-archive description: Archive a location call: organization-locations.location-archive with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/location.restore name: location-restore description: REST surface for location-restore. operations: - method: POST name: location-restore description: Restore a location call: organization-locations.location-restore with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: organization-locations-mcp port: 9090 transport: http description: "MCP adapter for Ashby \u2014 Locations. One tool per consumed operation, routed inline through this capability's consumes block." tools: - name: ashby-location-list description: List locations hints: readOnly: true destructive: false idempotent: true call: organization-locations.location-list with: body: tools.body outputParameters: - type: object mapping: $. - name: ashby-location-info description: Get location info hints: readOnly: true destructive: false idempotent: true call: organization-locations.location-info with: body: tools.body outputParameters: - type: object mapping: $. - name: ashby-location-create description: Create a location hints: readOnly: false destructive: false idempotent: false call: organization-locations.location-create with: body: tools.body outputParameters: - type: object mapping: $. - name: ashby-location-update-name description: Update a location's name hints: readOnly: false destructive: false idempotent: true call: organization-locations.location-update-name with: body: tools.body outputParameters: - type: object mapping: $. - name: ashby-location-update-address description: Update a location's address hints: readOnly: false destructive: false idempotent: true call: organization-locations.location-update-address with: body: tools.body outputParameters: - type: object mapping: $. - name: ashby-location-update-external-name description: Update a location's external (careers-page) name hints: readOnly: false destructive: false idempotent: true call: organization-locations.location-update-external-name with: body: tools.body outputParameters: - type: object mapping: $. - name: ashby-location-update-workplace-type description: Update a location's workplace type hints: readOnly: false destructive: false idempotent: true call: organization-locations.location-update-workplace-type with: body: tools.body outputParameters: - type: object mapping: $. - name: ashby-location-move description: Move a location in the hierarchy hints: readOnly: false destructive: false idempotent: false call: organization-locations.location-move with: body: tools.body outputParameters: - type: object mapping: $. - name: ashby-location-archive description: Archive a location hints: readOnly: false destructive: true idempotent: false call: organization-locations.location-archive with: body: tools.body outputParameters: - type: object mapping: $. - name: ashby-location-restore description: Restore a location hints: readOnly: false destructive: false idempotent: false call: organization-locations.location-restore with: body: tools.body outputParameters: - type: object mapping: $.