Payabli Paypoint API
The Paypoint API from Payabli — 7 operation(s) for paypoint.
The Paypoint API from Payabli — 7 operation(s) for paypoint.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/payabli-paypoint-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: reference Paypoint API
version: 1.0.0
servers:
- url: https://api-sandbox.payabli.com/api
description: Sandbox
- url: https://api.payabli.com/api
description: Production
tags:
- name: Paypoint
paths:
/Paypoint/{entry}:
get:
operationId: getEntryConfig
summary: Get paypoint details
description: Gets the details for a single paypoint.
tags:
- Paypoint
parameters:
- name: entry
in: path
description: The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry)
required: true
schema:
type: string
- name: entrypages
in: query
required: false
schema:
type: string
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetEntryConfigResponse'
'400':
description: Bad request / invalid data.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'503':
description: Database connection error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
/Paypoint/{entry}/{subdomain}:
get:
operationId: getPage
summary: Get payment page details
description: Gets the details for a single payment page for a paypoint.
tags:
- Paypoint
parameters:
- name: entry
in: path
description: The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry)
required: true
schema:
type: string
- name: subdomain
in: path
description: Payment page identifier. The subdomain value is the last portion of the payment page URL. For example, in `https://paypages-sandbox.payabli.com/513823dc10/pay-your-fees-1`, the subdomain is `pay-your-fees-1`.
required: true
schema:
type: string
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliPages'
'400':
description: Bad request / invalid data.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'503':
description: Database connection error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
delete:
operationId: removePage
summary: Delete a payment page
description: Deletes a payment page in a paypoint.
tags:
- Paypoint
parameters:
- name: entry
in: path
description: The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry)
required: true
schema:
type: string
- name: subdomain
in: path
description: Payment page identifier. The subdomain value is the last portion of the payment page URL. For example, in `https://paypages-sandbox.payabli.com/513823dc10/pay-your-fees-1`, the subdomain is `pay-your-fees-1`.
required: true
schema:
type: string
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliApiResponseGeneric2Part'
'400':
description: Bad request / invalid data.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'503':
description: Database connection error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
/Paypoint/basic/{entry}:
get:
operationId: getBasicEntry
summary: Get basic paypoint details
description: Gets the basic details for a paypoint.
tags:
- Paypoint
parameters:
- name: entry
in: path
description: The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry)
required: true
schema:
type: string
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetBasicEntryResponse'
'400':
description: Bad request / invalid data.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'503':
description: Database connection error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
/Paypoint/basicById/{IdPaypoint}:
get:
operationId: getBasicEntryById
summary: Get paypoint details by ID
description: Retrieves the basic details for a paypoint by ID.
tags:
- Paypoint
parameters:
- name: IdPaypoint
in: path
description: Paypoint ID. You can find this value by querying `/api/Query/paypoints/{orgId}`
required: true
schema:
type: string
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetBasicEntryByIdResponse'
'400':
description: Bad request / invalid data.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'503':
description: Database connection error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
/Paypoint/settings/{entry}:
get:
operationId: settingsPage
summary: Get paypoint settings
description: Retrieves a paypoint's basic settings like custom fields, identifiers, and invoicing settings.
tags:
- Paypoint
parameters:
- name: entry
in: path
description: The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry)
required: true
schema:
type: string
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SettingsQueryRecord'
'400':
description: Bad request / invalid data.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'503':
description: Database connection error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
/Paypoint/logo/{entry}:
put:
operationId: saveLogo
summary: Update paypoint logo
description: Updates a paypoint logo.
tags:
- Paypoint
parameters:
- name: entry
in: path
description: The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry)
required: true
schema:
type: string
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliApiResponse00Responsedatanonobject'
'400':
description: Bad request / invalid data.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'503':
description: Database connection error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FileContent'
/Paypoint/migrate:
post:
operationId: migrate
summary: Migrate paypoint
description: Migrates a paypoint to a new parent organization.
tags:
- Paypoint
parameters:
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/MigratePaypointResponse'
'400':
description: Bad request / invalid data.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'503':
description: Database connection error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PaypointMoveRequest'
components:
schemas:
ExternalPaypointId:
type: string
description: 'A custom identifier for the paypoint, if applicable.
'
title: ExternalPaypointId
Services:
type: object
properties:
ach:
$ref: '#/components/schemas/AchSetup'
card:
$ref: '#/components/schemas/CardSetup'
odp:
$ref: '#/components/schemas/OdpSetup'
description: Controls which services will be enabled for the merchant.
title: Services
PaypointEntryConfig:
type: object
properties:
EntryComment:
type: string
EntryLogo:
type: string
EntryName:
type: string
EntryPages:
type: array
items:
$ref: '#/components/schemas/PayabliPages'
EntrySubtitle:
type: string
EntryTitle:
type: string
IdEntry:
type: integer
format: int64
Paypoint:
$ref: '#/components/schemas/PaypointData'
title: PaypointEntryConfig
Dbaname:
type: string
description: 'The alternate or common name that this business is doing business under,
usually referred to as a DBA name.
'
title: Dbaname
Contacts:
type: object
properties:
contactEmail:
$ref: '#/components/schemas/Email'
description: Contact email address.
contactName:
type: string
description: Contact name.
contactPhone:
type: string
description: Contact phone number.
contactTitle:
type: string
description: Contact title.
additionalData:
$ref: '#/components/schemas/AdditionalDataString'
title: Contacts
PaypointMoveRequest:
type: object
properties:
entryPoint:
$ref: '#/components/schemas/Entrypointfield'
newParentOrganizationId:
type: integer
description: The ID for the paypoint's new parent organization.
notificationRequest:
$ref: '#/components/schemas/NotificationRequest'
description: Optional notification request object for a webhook
required:
- entryPoint
- newParentOrganizationId
title: PaypointMoveRequest
PayorFields:
type: object
properties:
display:
type: boolean
description: Flag indicating if the input field will show in container
fixed:
type: boolean
description: Flag indicating if the value in input field is read-only or not.
identifier:
type: boolean
description: Flag indicating if the input field is a customer identifier
label:
type: string
description: Label to display for field
name:
type: string
description: Name of field to show. Should be one of the standard customer fields or a custom field name
order:
$ref: '#/components/schemas/Order'
required:
type: boolean
description: Flag indicating if the input field is required for validation
validation:
type: string
description: "Type of validation to apply to the input field Accepted values:\n\n - alpha for alphabetical\n\n - numbers for numeric\n\n - text for alphanumeric\n\n - email for masked email address input\n\n - phone for US phone numbers"
value:
type: string
description: Pre-populated value for field
width:
type: integer
description: "Numeric value indicating the size of input relative to the container. Accepted values:\n\n - 4 = 1/3\n\n - 6 = 1/2\n\n - 8 = 2/3\n\n - 12 = 3/3"
title: PayorFields
GetBasicEntryResponse:
type: object
properties:
isSuccess:
$ref: '#/components/schemas/IsSuccess'
pageIdentifier:
$ref: '#/components/schemas/PageIdentifier'
responseCode:
$ref: '#/components/schemas/Responsecode'
responseData:
$ref: '#/components/schemas/PaypointEntryConfig'
responseText:
$ref: '#/components/schemas/ResponseText'
required:
- isSuccess
- responseText
title: GetBasicEntryResponse
IsSuccess:
type: boolean
description: 'Boolean indicating whether the operation was successful. A `true` value
indicates success. A `false` value indicates failure.
'
title: IsSuccess
SettingsQueryRecord:
type: object
properties:
customFields:
type: array
items:
$ref: '#/components/schemas/KeyValue'
description: Any custom fields defined for the org.
forInvoices:
type: array
items:
$ref: '#/components/schemas/KeyValue'
forPayOuts:
type: array
items:
$ref: '#/components/schemas/KeyValue'
forWallets:
type: array
items:
$ref: '#/components/schemas/KeyValue'
description: Information about digital wallet settings for the entity. Available values are `isApplePayEnabled` and `isGooglePayEnabled`.
general:
type: array
items:
$ref: '#/components/schemas/KeyValue'
identifiers:
type: array
items:
$ref: '#/components/schemas/KeyValue'
title: SettingsQueryRecord
HeaderElement:
type: object
properties:
enabled:
$ref: '#/components/schemas/Enabled'
header:
type: string
description: Header text for section
order:
$ref: '#/components/schemas/Order'
title: HeaderElement
MethodElementSettingsApplePayLanguage:
type: string
enum:
- en-US
- ar-AB
- ca-ES
- zh-CN
- zh-HK
- zh-TW
- hr-HR
- cs-CZ
- da-DK
- de-DE
- nl-NL
- en-AU
- en-GB
- fi-FI
- fr-CA
- fr-FR
- el-GR
- he-IL
- hi-IN
- hu-HU
- id-ID
- it-IT
- ja-JP
- ko-KR
- ms-MY
- nb-NO
- pl-PL
- pt-BR
- pt-PT
- ro-RO
- ru-RU
- sk-SK
- es-MX
- es-ES
- sv-SE
- th-TH
- tr-TR
- uk-UA
- vi-VN
default: en-US
description: 'The Apple Pay button locale. See
[Apple Pay Button Language](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-language)
for more information.
'
title: MethodElementSettingsApplePayLanguage
OdpSetupProcessingRegion:
type: string
enum:
- US
- CA
description: Region where payment processing occurs.
title: OdpSetupProcessingRegion
FileContentFtype:
type: string
enum:
- pdf
- doc
- docx
- jpg
- jpeg
- png
- gif
- txt
description: The MIME type of the file (if content is provided).
title: FileContentFtype
BoardingId:
type: integer
format: int64
description: 'The Payabli-assigned ID of the boarding application linked to this paypoint.
'
title: BoardingId
Finishtype:
type: object
properties:
calendar:
type: boolean
description: Flag to enable the 'calendar' option.
untilCancelled:
type: boolean
description: Flag to enable the 'untilCancelled' option.
title: Finishtype
CityNullable:
type: string
description: The city.
title: CityNullable
Orgid:
type: integer
format: int64
description: Organization ID. Unique identifier assigned to an org by Payabli.
title: Orgid
PayorElement:
type: object
properties:
enabled:
$ref: '#/components/schemas/Enabled'
fields:
type: array
items:
$ref: '#/components/schemas/PayorFields'
description: Array of Customer/Payor fields to show in section
header:
type: string
description: Custom header text for section
order:
$ref: '#/components/schemas/Order'
title: PayorElement
PayabliApiResponse00Responsedatanonobject:
type: object
properties:
responseCode:
$ref: '#/components/schemas/Responsecode'
pageIdentifier:
$ref: '#/components/schemas/PageIdentifier'
roomId:
type: integer
format: int64
description: Describes the room ID. Only in use on Boarding endpoints, returns `0` when not applicable.
isSuccess:
$ref: '#/components/schemas/IsSuccess'
responseText:
$ref: '#/components/schemas/ResponseText'
responseData:
$ref: '#/components/schemas/Responsedatanonobject'
required:
- responseText
title: PayabliApiResponse00Responsedatanonobject
MigratePaypointResponse:
type: object
properties:
isSuccess:
$ref: '#/components/schemas/IsSuccess'
responseCode:
$ref: '#/components/schemas/Responsecode'
responseText:
$ref: '#/components/schemas/ResponseText'
required:
- isSuccess
- responseText
title: MigratePaypointResponse
MethodElement:
type: object
properties:
allMethodsChecked:
type: boolean
description: Flag indicating if all allowed payment methods will be pre-selected.
enabled:
$ref: '#/components/schemas/Enabled'
header:
type: string
description: Header text for section
methods:
$ref: '#/components/schemas/MethodsList'
order:
$ref: '#/components/schemas/Order'
paymentDescription:
type: string
description: Description text shown in the payment methods section.
settings:
$ref: '#/components/schemas/MethodElementSettings'
description: Settings for wallet payment methods.
showSaveMethod:
type: boolean
default: true
description: Controls whether the "Save payment details for future use" checkbox appears on the hosted payment page. Set to `false` to hide the checkbox. Defaults to `true`.
title: MethodElement
AccountNumber:
type: string
description: Account number for bank account. This value is returned masked in responses.
title: AccountNumber
WebHeaderParameter:
type: object
properties:
key:
type: string
value:
type: string
required:
- key
- value
title: WebHeaderParameter
Element:
type: object
properties:
enabled:
$ref: '#/components/schemas/Enabled'
order:
$ref: '#/components/schemas/Order'
title: Element
MinTicket:
type: number
format: double
description: 'Minimum ticket amount for transactions within the paypoint. Contact
Payabli support to request a change to this value.
'
title: MinTicket
ContactsField:
type: array
items:
$ref: '#/components/schemas/Contacts'
description: List of contacts.
title: ContactsField
GreaterValueAllowed:
type: boolean
description: 'When `true`, the customer can pay an amount greater than the invoice or
bill amount.
'
title: GreaterValueAllowed
PayabliCredentials:
type: object
properties:
accountId:
$ref: '#/components/schemas/AccountId'
description: The identifier for the payment connector, matching the `accountId` of the linked bank account.
cfeeFix:
type: number
format: double
cfeeFloat:
type: number
format: double
cfeeMax:
type: number
format: double
cfeeMin:
type: number
format: double
maxticket:
type: number
format: double
minticket:
type: number
format: double
mode:
type: integer
description: The payment mode supported by this service. `0` for one-time payments, `1` for recurring payments, `2` for both.
referenceId:
type: integer
format: int64
service:
type: string
description: The payment service that this credential applies to. A paypoint can support multiple services, each represented by its own credential object in the array. Possible values are `card` (credit/debit card), `ach` (ACH bank transfer), `check` (paper check), `vcard` (virtual card), `cloud` (card-present), `cash`, `managed` (managed payment service), and `wallet`.
greaterValueAllowed:
$ref: '#/components/schemas/GreaterValueAllowed'
absorbDifference:
$ref: '#/components/schemas/AbsorbDifference'
allowOverride:
$ref: '#/components/schemas/AllowOverride'
title: PayabliCredentials
AdditionalData:
type: object
additionalProperties:
type: object
additionalProperties:
description: Any type
description: "Custom dictionary of key:value pairs. You can use this field to store any\ndata related to the object or for your system. If you are using\n[custom identifiers](/developers/developer-guides/entities-customers),\npass those in this object. Max length for a value is 100 characters.\nExample usage:\n\n```json\n{\n \"additionalData\": {\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n \"key3\": \"value3\"\n }\n}\n```\n"
title: AdditionalData
LabelElement:
type: object
properties:
enabled:
$ref: '#/components/schemas/Enabled'
label:
type: string
description: Label to display for section or element
order:
$ref: '#/components/schemas/Order'
title: LabelElement
GetBasicEntryByIdResponse:
type: object
properties:
isSuccess:
$ref: '#/components/schemas/IsSuccess'
pageIdentifier:
$ref: '#/components/schemas/PageIdentifier'
responseCode:
$ref: '#/components/schemas/Responsecode'
responseData:
$ref: '#/components/schemas/PaypointEntryConfig'
responseText:
$ref: '#/components/schemas/ResponseText'
required:
- isSuccess
- responseText
title: GetBasicEntryByIdResponse
BankAccountFunction:
type: integer
description: 'Indicates the function of the bank account:
- `0` — Deposits
- `1` — Withdrawals
- `2` — Deposits & Withdrawals
- `3` — Remittances
- `4` — Remittances & Deposits
- `5` — Remittances & Withdrawals
- `6` — Remittances & Withdrawals & Deposits
A paypoint is required to have a single deposit and withdrawal account. A
paypoint can have as many remittance accounts as needed for pay outs
(remittances).
'
title: BankAccountFunction
PhoneNumber:
type: string
description: Phone number.
title: PhoneNumber
AddressAddtlNullable:
type: string
description: Additional line for the address.
title: AddressAddtlNullable
Entrypointfield:
type: string
description: The entrypoint identifier.
title: Entrypointfield
AccountId:
type: string
description: Custom identifier for payment connector.
title: AccountId
AbsorbDifference:
type: boolean
description: 'Whether the paypoint absorbs the difference between the configured service
fee and the actual fee charged to the customer.
'
title: AbsorbDifference
StatementEmailConfig:
type: object
properties:
sender:
type: string
description: The email address from which statements are sent. Always uses a Payabli domain, for example `acme-partners@payabli.com`. If `null`, `noreply@payabli.com` is used.
recipients:
type: array
items:
type: string
description: List of email addresses that receive billing statements. These are merchant or partner contacts.
description: Configuration for statement email recipients and the sender address.
title: StatementEmailConfig
PayabliApiResponseGeneric2Part:
type: object
properties:
isSuccess:
$ref: '#/components/schemas/IsSuccess'
responseText:
$ref: '#/components/schemas/ResponseText'
required:
- responseText
description: 'Minimal response wrapper used by approval-style endpoints that don''t carry
the standard response envelope.
'
title: PayabliApiResponseGeneric2Part
PayabliCredentialsPascal:
type: object
properties:
Service:
type: string
description: The payment service that this credential applies to. A paypoint can support multiple services, each represented by its own credential object in the array. Possible values are `card` (credit/debit card), `ach` (ACH bank transfer), `check` (paper check), `vcard` (virtual card), `cloud` (card-present), `cash`, `managed` (managed payment service), and `wallet`.
Mode:
type: integer
description: The payment mode supported by this service. `0` for one-time payments, `1` for recurring payments, `2` for both.
MinTicket:
$ref: '#/components/schemas/MinTicket'
MaxTicket:
$ref: '#/components/schemas/MaxTicket'
CfeeFix:
type: number
format: double
CfeeFloat:
type: number
format: double
CfeeMin:
type: number
format: double
# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/payabli/refs/heads/main/openapi/payabli-paypoint-api-openapi.yml