Conekta API

Conekta's REST API for accepting online payments in Mexico — credit and debit cards (Visa, Mastercard, Amex), OXXO cash vouchers, SPEI bank transfers, Apple Pay, Google Pay, and Buy Now Pay Later. The 2.2.0 API covers Orders, Charges, Customers, Plans, Subscriptions, Payment Links, Webhooks, Tokens, Payment Methods, Antifraud whitelists/blacklists, Payout Orders, Transfers, Balances, Events, and Logs, secured with bearer auth and an Accept-Language header for localized Spanish-language responses.

Conekta API is published by Conekta on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 8 machine-runnable capabilities that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko and 3 JSON Schema definitions.

Tagged areas include Payments, Cards, Cash, OXXO, and SPEI. The published artifact set on APIs.io includes API documentation, authentication docs, an OpenAPI specification, a JSON-LD context, 8 Naftiko capability specs, and 3 JSON Schemas.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

conekta-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: [email protected]
    name: Engineering Conekta
    url: https://github.com/conekta/openapi/issues
  description: Conekta sdk
  license:
    name: MIT-LICENSE
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  title: Conekta API
  version: 2.2.0
servers:
- description: Conekta main server
  url: https://api.conekta.io
security:
- bearerAuth: []
tags:
- description: "All subscription-related endpoints including creation, management,\
    \ and events"
  name: Subscriptions
- description: Customer portal endpoints for subscriptions
  name: Subscriptions - Customer Portal
paths:
  /antifraud/whitelists:
    get:
      description: Return all rules
      operationId: GetRuleWhitelist
      parameters:
      - description: Use for knowing which language to use
        examples:
          es:
            summary: for spanish request/response
            value: es
          en:
            summary: for english request/response
            value: en
        explode: false
        in: header
        name: Accept-Language
        required: false
        schema:
          default: es
          enum:
          - es
          - en
          type: string
        style: simple
      responses:
        "200":
          content:
            application/vnd.conekta-v2.2.0+json:
              schema:
                $ref: "#/components/schemas/risk_rules_list"
          description: All the rules
        "401":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: Please include your access key in your request.
                  code: conekta.errors.authentication.missing_key
                log_id: 507f1f77bcf86cd799439011
                object: error
                type: authentication_error
              schema:
                $ref: "#/components/schemas/error"
          description: authentication error
        "403":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: "Unauthorized access service, please contact support team"
                  code: conekta.errors.forbidden.authentication.invalid_whitelist_access
                  debug_message: "Unauthorized access to whitelists service, please\
                    \ contact support team"
                log_id: 641b6d073cd9a50001515007
                object: error
                type: processing_error
              schema:
                $ref: "#/components/schemas/error"
          description: forbidden error
        "500":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - debug_message: There was a runtime error and Conekta engineers have
                    been notified.
                  message: There was a runtime error and Conekta engineers have been
                    notified.
                  code: conekta.errors.api.system.general_failure
                object: error
                type: api_error
                log_id: 641b6f2b3cd9a50001515098
              schema:
                $ref: "#/components/schemas/error"
          description: internal server error
      summary: Get a list of whitelisted rules
      tags:
      - Antifraud
    post:
      operationId: CreateRuleWhitelist
      parameters:
      - description: Use for knowing which language to use
        examples:
          es:
            summary: for spanish request/response
            value: es
          en:
            summary: for english request/response
            value: en
        explode: false
        in: header
        name: Accept-Language
        required: false
        schema:
          default: es
          enum:
          - es
          - en
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateRuleWhitelist_request"
      responses:
        "200":
          content:
            application/vnd.conekta-v2.2.0+json:
              schema:
                $ref: "#/components/schemas/whitelistlist_rule_response"
          description: successfully registered rule
        "401":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: Please include your access key in your request.
                  code: conekta.errors.authentication.missing_key
                log_id: 507f1f77bcf86cd799439011
                object: error
                type: authentication_error
              schema:
                $ref: "#/components/schemas/error"
          description: authentication error
        "403":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: "Unauthorized access service, please contact support team"
                  code: conekta.errors.forbidden.authentication.invalid_whitelist_access
                  debug_message: "Unauthorized access to whitelists service, please\
                    \ contact support team"
                log_id: 641b6d073cd9a50001515007
                object: error
                type: processing_error
              schema:
                $ref: "#/components/schemas/error"
          description: forbidden error
        "500":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - debug_message: There was a runtime error and Conekta engineers have
                    been notified.
                  message: There was a runtime error and Conekta engineers have been
                    notified.
                  code: conekta.errors.api.system.general_failure
                object: error
                type: api_error
                log_id: 641b6f2b3cd9a50001515098
              schema:
                $ref: "#/components/schemas/error"
          description: internal server error
      summary: Create whitelisted rule
      tags:
      - Antifraud
  /antifraud/whitelists/{id}:
    delete:
      operationId: DeleteRuleWhitelist
      parameters:
      - description: Identifier of the resource
        example: 6307a60c41de27127515a575
        explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      - description: Use for knowing which language to use
        examples:
          es:
            summary: for spanish request/response
            value: es
          en:
            summary: for english request/response
            value: en
        explode: false
        in: header
        name: Accept-Language
        required: false
        schema:
          default: es
          enum:
          - es
          - en
          type: string
        style: simple
      - description: "In the case of a holding company, the company id of the child\
          \ company to which will process the request."
        example: 6441b6376b60c3a638da80af
        explode: false
        in: header
        name: X-Child-Company-Id
        required: false
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/vnd.conekta-v2.2.0+json:
              schema:
                $ref: "#/components/schemas/deleted_whitelist_rule_response"
          description: successfully deleted rule
        "401":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: Please include your access key in your request.
                  code: conekta.errors.authentication.missing_key
                log_id: 507f1f77bcf86cd799439011
                object: error
                type: authentication_error
              schema:
                $ref: "#/components/schemas/error"
          description: authentication error
        "403":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: "Unauthorized access service, please contact support team"
                  code: conekta.errors.forbidden.authentication.invalid_whitelist_access
                  debug_message: "Unauthorized access to whitelists service, please\
                    \ contact support team"
                log_id: 641b6d073cd9a50001515007
                object: error
                type: processing_error
              schema:
                $ref: "#/components/schemas/error"
          description: forbidden error
        "404":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: The resource was not found.
                  code: conekta.errors.resource_not_found.entity
                  debug_message: The object Webhook "641b1d5662d7e00001eaa46b" could
                    not be found.
                log_id: 641b6c253cd9a50001514fae
                object: error
                type: resource_not_found_error
              schema:
                $ref: "#/components/schemas/error"
          description: not found entity
        "500":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - debug_message: There was a runtime error and Conekta engineers have
                    been notified.
                  message: There was a runtime error and Conekta engineers have been
                    notified.
                  code: conekta.errors.api.system.general_failure
                object: error
                type: api_error
                log_id: 641b6f2b3cd9a50001515098
              schema:
                $ref: "#/components/schemas/error"
          description: internal server error
      summary: Delete whitelisted rule
      tags:
      - Antifraud
  /antifraud/blacklists:
    get:
      description: Return all rules
      operationId: GetRuleBlacklist
      parameters:
      - description: Use for knowing which language to use
        examples:
          es:
            summary: for spanish request/response
            value: es
          en:
            summary: for english request/response
            value: en
        explode: false
        in: header
        name: Accept-Language
        required: false
        schema:
          default: es
          enum:
          - es
          - en
          type: string
        style: simple
      responses:
        "200":
          content:
            application/vnd.conekta-v2.2.0+json:
              schema:
                $ref: "#/components/schemas/risk_rules_list"
          description: All the rules
        "401":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: Please include your access key in your request.
                  code: conekta.errors.authentication.missing_key
                log_id: 507f1f77bcf86cd799439011
                object: error
                type: authentication_error
              schema:
                $ref: "#/components/schemas/error"
          description: authentication error
        "500":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - debug_message: There was a runtime error and Conekta engineers have
                    been notified.
                  message: There was a runtime error and Conekta engineers have been
                    notified.
                  code: conekta.errors.api.system.general_failure
                object: error
                type: api_error
                log_id: 641b6f2b3cd9a50001515098
              schema:
                $ref: "#/components/schemas/error"
          description: internal server error
      summary: Get list of blacklisted rules
      tags:
      - Antifraud
    post:
      operationId: CreateRuleBlacklist
      parameters:
      - description: Use for knowing which language to use
        examples:
          es:
            summary: for spanish request/response
            value: es
          en:
            summary: for english request/response
            value: en
        explode: false
        in: header
        name: Accept-Language
        required: false
        schema:
          default: es
          enum:
          - es
          - en
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateRuleWhitelist_request"
        description: requested field for blacklist rule
        required: true
      responses:
        "200":
          content:
            application/vnd.conekta-v2.2.0+json:
              schema:
                $ref: "#/components/schemas/blacklist_rule_response"
          description: successfully registered rule
        "401":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: Please include your access key in your request.
                  code: conekta.errors.authentication.missing_key
                log_id: 507f1f77bcf86cd799439011
                object: error
                type: authentication_error
              schema:
                $ref: "#/components/schemas/error"
          description: authentication error
        "500":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - debug_message: There was a runtime error and Conekta engineers have
                    been notified.
                  message: There was a runtime error and Conekta engineers have been
                    notified.
                  code: conekta.errors.api.system.general_failure
                object: error
                type: api_error
                log_id: 641b6f2b3cd9a50001515098
              schema:
                $ref: "#/components/schemas/error"
          description: internal server error
      summary: Create blacklisted rule
      tags:
      - Antifraud
  /antifraud/blacklists/{id}:
    delete:
      operationId: DeleteRuleBlacklist
      parameters:
      - description: Identifier of the resource
        example: 6307a60c41de27127515a575
        explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      - description: Use for knowing which language to use
        examples:
          es:
            summary: for spanish request/response
            value: es
          en:
            summary: for english request/response
            value: en
        explode: false
        in: header
        name: Accept-Language
        required: false
        schema:
          default: es
          enum:
          - es
          - en
          type: string
        style: simple
      - description: "In the case of a holding company, the company id of the child\
          \ company to which will process the request."
        example: 6441b6376b60c3a638da80af
        explode: false
        in: header
        name: X-Child-Company-Id
        required: false
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/vnd.conekta-v2.2.0+json:
              schema:
                $ref: "#/components/schemas/deleted_blacklist_rule_response"
          description: successfully deleted rule
        "401":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: Please include your access key in your request.
                  code: conekta.errors.authentication.missing_key
                log_id: 507f1f77bcf86cd799439011
                object: error
                type: authentication_error
              schema:
                $ref: "#/components/schemas/error"
          description: authentication error
        "404":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: The resource was not found.
                  code: conekta.errors.resource_not_found.entity
                  debug_message: The object Webhook "641b1d5662d7e00001eaa46b" could
                    not be found.
                log_id: 641b6c253cd9a50001514fae
                object: error
                type: resource_not_found_error
              schema:
                $ref: "#/components/schemas/error"
          description: not found entity
        "500":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - debug_message: There was a runtime error and Conekta engineers have
                    been notified.
                  message: There was a runtime error and Conekta engineers have been
                    notified.
                  code: conekta.errors.api.system.general_failure
                object: error
                type: api_error
                log_id: 641b6f2b3cd9a50001515098
              schema:
                $ref: "#/components/schemas/error"
          description: internal server error
      summary: Delete blacklisted rule
      tags:
      - Antifraud
  /api_keys:
    get:
      description: Consume the list of api keys you have
      operationId: getApiKeys
      parameters:
      - description: Use for knowing which language to use
        examples:
          es:
            summary: for spanish request/response
            value: es
          en:
            summary: for english request/response
            value: en
        explode: false
        in: header
        name: Accept-Language
        required: false
        schema:
          default: es
          enum:
          - es
          - en
          type: string
        style: simple
      - description: "In the case of a holding company, the company id of the child\
          \ company to which will process the request."
        example: 6441b6376b60c3a638da80af
        explode: false
        in: header
        name: X-Child-Company-Id
        required: false
        schema:
          type: string
        style: simple
      - description: "The numbers of items to return, the maximum value is 250"
        explode: true
        in: query
        name: limit
        required: false
        schema:
          default: 20
          format: int32
          maximum: 250
          minimum: 1
          type: integer
        style: form
      - description: next page
        explode: true
        in: query
        name: next
        required: false
        schema:
          type: string
        style: form
      - description: previous page
        explode: true
        in: query
        name: previous
        required: false
        schema:
          type: string
        style: form
      - description: "General search, e.g. by id, description, prefix"
        explode: true
        in: query
        name: search
        required: false
        schema:
          type: string
        style: form
      responses:
        "200":
          content:
            application/vnd.conekta-v2.2.0+json:
              schema:
                $ref: "#/components/schemas/get_api_keys_response"
          description: successful
          headers:
            Content-Type:
              description: The format of the response body
              explode: false
              schema:
                example: application/json; charset=utf-8
                type: string
              style: simple
            Conekta-Media-Type:
              explode: false
              schema:
                example: conekta-v2.2.0; format=application/json
                type: string
              style: simple
        "401":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: Please include your access key in your request.
                  code: conekta.errors.authentication.missing_key
                log_id: 507f1f77bcf86cd799439011
                object: error
                type: authentication_error
              schema:
                $ref: "#/components/schemas/error"
          description: authentication error
        "500":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - debug_message: There was a runtime error and Conekta engineers have
                    been notified.
                  message: There was a runtime error and Conekta engineers have been
                    notified.
                  code: conekta.errors.api.system.general_failure
                object: error
                type: api_error
                log_id: 641b6f2b3cd9a50001515098
              schema:
                $ref: "#/components/schemas/error"
          description: internal server error
      security:
      - bearerAuth: []
      summary: Get list of Api Keys
      tags:
      - Api Keys
    post:
      description: Create a api key
      operationId: createApiKey
      parameters:
      - description: Use for knowing which language to use
        examples:
          es:
            summary: for spanish request/response
            value: es
          en:
            summary: for english request/response
            value: en
        explode: false
        in: header
        name: Accept-Language
        required: false
        schema:
          default: es
          enum:
          - es
          - en
          type: string
        style: simple
      - description: "In the case of a holding company, the company id of the child\
          \ company to which will process the request."
        example: 6441b6376b60c3a638da80af
        explode: false
        in: header
        name: X-Child-Company-Id
        required: false
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/api_key_request"
        description: requested field for a api keys
        required: true
      responses:
        "200":
          content:
            application/vnd.conekta-v2.2.0+json:
              schema:
                $ref: "#/components/schemas/api_key_create_response"
          description: successful operation
          headers:
            Content-Type:
              description: The format of the response body
              explode: false
              schema:
                example: application/json; charset=utf-8
                type: string
              style: simple
            Conekta-Media-Type:
              explode: false
              schema:
                example: conekta-v2.2.0; format=application/json
                type: string
              style: simple
        "401":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: Please include your access key in your request.
                  code: conekta.errors.authentication.missing_key
                log_id: 507f1f77bcf86cd799439011
                object: error
                type: authentication_error
              schema:
                $ref: "#/components/schemas/error"
          description: authentication error
        "422":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: The token does not exist.
                  param: payment_method.token_id
                  code: conekta.errors.parameter_validation.payment_method.token_id.nonexistent_token
                  debug_message: The token does not exist.
                log_id: 641b6d813cd9a50001515017
                object: error
                type: parameter_validation_error
              schema:
                $ref: "#/components/schemas/error"
          description: parameter validation error
        "500":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - debug_message: There was a runtime error and Conekta engineers have
                    been notified.
                  message: There was a runtime error and Conekta engineers have been
                    notified.
                  code: conekta.errors.api.system.general_failure
                object: error
                type: api_error
                log_id: 641b6f2b3cd9a50001515098
              schema:
                $ref: "#/components/schemas/error"
          description: internal server error
      security:
      - bearerAuth: []
      summary: Create Api Key
      tags:
      - Api Keys
  /api_keys/{id}:
    delete:
      description: Deletes a api key that corresponds to a api key ID
      operationId: deleteApiKey
      parameters:
      - description: Identifier of the resource
        example: 6307a60c41de27127515a575
        explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      - description: Use for knowing which language to use
        examples:
          es:
            summary: for spanish request/response
            value: es
          en:
            summary: for english request/response
            value: en
        explode: false
        in: header
        name: Accept-Language
        required: false
        schema:
          default: es
          enum:
          - es
          - en
          type: string
        style: simple
      responses:
        "200":
          content:
            application/vnd.conekta-v2.2.0+json:
              schema:
                $ref: "#/components/schemas/delete_api_keys_response"
          description: successful
          headers:
            Content-Type:
              description: The format of the response body
              explode: false
              schema:
                example: application/json; charset=utf-8
                type: string
              style: simple
            Conekta-Media-Type:
              explode: false
              schema:
                example: conekta-v2.2.0; format=application/json
                type: string
              style: simple
        "401":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: Please include your access key in your request.
                  code: conekta.errors.authentication.missing_key
                log_id: 507f1f77bcf86cd799439011
                object: error
                type: authentication_error
              schema:
                $ref: "#/components/schemas/error"
          description: authentication error
        "404":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: The resource was not found.
                  code: conekta.errors.resource_not_found.entity
                  debug_message: The object Webhook "641b1d5662d7e00001eaa46b" could
                    not be found.
                log_id: 641b6c253cd9a50001514fae
                object: error
                type: resource_not_found_error
              schema:
                $ref: "#/components/schemas/error"
          description: not found entity
        "500":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - debug_message: There was a runtime error and Conekta engineers have
                    been notified.
                  message: There was a runtime error and Conekta engineers have been
                    notified.
                  code: conekta.errors.api.system.general_failure
                object: error
                type: api_error
                log_id: 641b6f2b3cd9a50001515098
              schema:
                $ref: "#/components/schemas/error"
          description: internal server error
      security:
      - bearerAuth: []
      summary: Delete Api Key
      tags:
      - Api Keys
    get:
      description: Gets a api key that corresponds to a api key ID
      operationId: getApiKey
      parameters:
      - description: Identifier of the resource
        example: 6307a60c41de27127515a575
        explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      - description: Use for knowing which language to use
        examples:
          es:
            summary: for spanish request/response
            value: es
          en:
            summary: for english request/response
            value: en
        explode: false
        in: header
        name: Accept-Language
        required: false
        schema:
          default: es
          enum:
          - es
          - en
          type: string
        style: simple
      - description: "In the case of a holding company, the company id of the child\
          \ company to which will process the request."
        example: 6441b6376b60c3a638da80af
        explode: false
        in: header
        name: X-Child-Company-Id
        required: false
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/vnd.conekta-v2.2.0+json:
              schema:
                $ref: "#/components/schemas/api_key_response"
          description: successful
          headers:
            Content-Type:
              description: The format of the response body
              explode: false
              schema:
                example: application/json; charset=utf-8
                type: string
              style: simple
            Conekta-Media-Type:
              explode: false
              schema:
                example: conekta-v2.2.0; format=application/json
                type: string
              style: simple
        "401":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: Please include your access key in your request.
                  code: conekta.errors.authentication.missing_key
                log_id: 507f1f77bcf86cd799439011
                object: error
                type: authentication_error
              schema:
                $ref: "#/components/schemas/error"
          description: authentication error
        "404":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - message: The resource was not found.
                  code: conekta.errors.resource_not_found.entity
                  debug_message: The object Webhook "641b1d5662d7e00001eaa46b" could
                    not be found.
                log_id: 641b6c253cd9a50001514fae
                object: error
                type: resource_not_found_error
              schema:
                $ref: "#/components/schemas/error"
          description: not found entity
        "500":
          content:
            application/vnd.conekta-v2.2.0+json:
              example:
                details:
                - debug_message: There was a runtime error and Conekta engineers have
                    been notified.
                  message: There was a runtime error and Conekta engineers have been
                    notified.
                  code: conekta.errors.api.system.general_failure
                object: error
                type: api_error
                log_id: 641b6f2b3cd9a50001515098
              schema:
                $ref: "#/components/schemas/error"
          description: internal server error
      security:
      - bearerAuth: []
      summary: Get Api Key
      tags:
      - Api Keys
    put:
      description: Update an existing api key
      operationId: updateApiKey
      parameters:
      - description: Identifier of the resource
        example: 6307a60c41de27127515a575
        explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: 

# --- truncated at 32 KB (733 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/conekta/refs/heads/main/openapi/conekta-api-openapi.yml